在我们做项目的过程中,我们会遇到新增某一张表的时候,它里面的某一个字段是通过自动生成出来的,我们可以通过数据库的条数来进行自增,也可以获取当前时间来进行拼接出我们需要的格式。
下面我来讲一下如何根据当前时间来进行生成编码。因为编码是自动生成的,所以是禁止输入的,我们要给input添加一个属性来进行禁用,下面请看Html代码:
<input id="OpportunityNumber" name="OpportunityNumber" class="form-control form-control-sm mr-3 w-50" readonly>
下面我们来看一下JS代码:
我们用getJSON()方法请求从服务器中加载JSON编码的数据,也就是利用getJSON来请求控制器中的方法,再将自动生成成功的编码给回填在页面上的input标签中,代码如下:
那么接下来我们在控制器中写方法:
我们首先需要声明一个字符串变量,让它为空,用来方便接收。接着我们需要再声明一个变量,用来获取当前时间,然后我们接着就可以进行在前面进行拼接我们需要的字段。
这样我们来看一下效果图:
下面我们再来讲另一个自动生成编码的方法,页面上的代码跟第一个方法是一样的,就是控制器的代码就不一样了,下面我给大家讲一下思路,首先我们也是需要申请一个字符串来接收我们的值,因为我们的编码是跟数据库的某一个字段自增得出来的,所以我们需要查询出数据库里的所有数据,接着再进行对编码来排序,再通过使用if判断语句来进行判断我们的总条数是否大于0,如果总条数大于0,那么我们需要定义一个变量来获取数据的总条数,然后再获取数据库里的最后一条数据,然后我们需要用Substring()来进行对我们获取最后一条的编码来进行截取,然后我们对编码的第2个开始位置截取到第5位,然后我们需要让它++,然后我们再对编码来进行格式化,最后我们利用for循环语句来进行对三目运算符来进行循环判断编码的长度,然后再进行将结果给输入。如果它的总条数没有数据的话,我们直接让它返回CP00001。这样我们便完成编码自增了。代码如下:
效果图: