用框架自带的<form:select>下拉框,在修改的时候传值是个问题,按照自己的思路写,下拉框就不能回显,在看了jeesite官方文档后,有的解决办法
这是js代码,我的思路是先用一个隐藏的文本框接收要回显的值,然后在js里改变下拉框默认的值
<script type="text/javascript">
$(function() {
var ddd = $("#supplierIds").select2(); //获取select 的ID
var values = document.getElementById('in').value;
ddd.val(values).trigger("change"); //这个values就是代表你选中的值
ddd.change();
})
</script>
这是隐藏的那个文本框
<td height="60" style="display: none"><input type="text" name="names" readonly="true" value="${seeEqList.supplierId}" id="in"></td>
然后就是下拉框部分了
<td><span>供应商:</span>
<select name="supplierId" style="width: 176px;" id="supplierIds">
<option value="" label="请选择">请选择</option>
<c:forEach items="${supplierList}" var="type">
<option value="${type.xtdSupplierId}" label="${type.xtdSupplierName}">${type.xtdSupplierName}</option>
</c:forEach>
</select>
</td>
需要注意的是跟下拉框有关的标签最好都不要用框架自带的,用原生,我之前那个隐藏的文本框用框架带的,虽然回显可以,但是在点击提交按钮后,传到后台的值还是没改变
这里的select2是框架带的下拉框名称吧,所以改变默认值才这么方便
总结:以后再换一个框架做项目还是先到官网把框架的文档先认真看一遍,不能急于上手,不然遇到坑了,可就浪费时间了