做CRUD时,点击一条数据进行修改。如果数据中有下拉框,怎样初始化是一个问题。以下是我的办法:
<select id="yearId" name="studentInfoVo.yearId" class="easyui-validatebox" validType="requiredSelect['-1','请选择学年度']" onchange="selectGrade(this);">
<option value="-1" >--请选择学年度--</option>
<s:iterator value="classYearList">
<option value="<s:property value='yearId' />">
<s:property value='yearName' />
</option>
</s:iterator>
</select>
<select class="easyui-validatebox" validType="requiredSelect['-1','请选择年级']" disabled="disabled" id="gradeId" name="studentInfoVo.gradeId" onchange="selectClass(this)">
<option value="-1" >--请选择年级--</option>
</select>
<select id="classId" class="easyui-validatebox" validType="requiredSelect['-1','请选择班级']" id="classId" disabled="disabled" name="studentInfoVo.classId">
<option value="-1">--请选择班级--</option>
</select>
解释:学年度和年级是级联的,年级和班级也是级联的。
初始化方法:
//学年度初始化
<s:if test="studentInfoVo.yearId!=null || !studentInfoVo.yearId.isEmpty()">
$("#yearId option[value='<s:property value='studentInfoVo.yearId' />']").attr("selected",true)
也可以直接用 $("#yearId ").val("<s:property value='studentInfoVo.yearId' />");
但是这在IE8和firefox下都是没有问题的,但是在IE6下,就会出现问题了。
则就用以下方法解决问题:
setTimeout(function() {
$("#yearId ").val("<s:property value='studentInfoVo.yearId' />");
})
</s:if>
//年级初始化
<s:if test="studentInfoVo.gradeId!=null || !studentInfoVo.gradeId.isEmpty()">
$("#gradeId").attr("disabled",false);
<s:iterator value="classGradeList">
$("<option>"+"<s:property value='gradeName' />"+"</option>").appendTo("#gradeId").val("<s:property value='gradeId' />");
</s:iterator>
//$("#gradeId option[value='<s:property value='studentInfoVo.gradeId' />']").attr("selected",true)
setTimeout(function() {
$("#gradeId").val("<s:property value='studentInfoVo.gradeId' />");
})
</s:if>
//班级初始化
<s:if test="studentInfoVo.classId!=null || !studentInfoVo.classId.isEmpty()">
$("#classId").attr("disabled",false);
<s:iterator value="schoolClassVoList">
$("<option>"+"<s:property value='className' />"+"</option>").appendTo("#classId").val("<s:property value='classId' />");
</s:iterator>
//$("#classId option[value='<s:property value='studentInfoVo.classId' />']").attr("selected",true)
setTimeout(function() {
$("#classId").val("<s:property value='studentInfoVo.classId' />");
})
</s:if>
分享到:
相关推荐
jquery省市区三级级联代码,如何使用:具体请看源码。
网上找了很久这种菜单,浪费了很多时间,实在没办法,只好老老实实去官网上按说明弄了一个,并更新了,jquery1.5.2, 希望给有需要的朋友可以节约一点时间,欢迎交流,qq:170262
JQuery可收缩展开的级联菜单与局部刷新
jQuery ajax 通过JSON 下拉列表框级联,点击省份,级联城市,此demo是在springMVC环境下实现的,如果感兴趣可以下载我整理的springMVC.
jquery-casecader一个jquery级联下拉组件
该实例为本人项目中使用的模块代码,经过专业测试人员测试,兼容所有主流浏览器,如有不解之处请联系本人
jQuery 城市三级级联 ,很不错哦!
3级级联 jquery3
jQuery城市级联插件 jQuery城市级联插件 jQuery城市级联插件
jQuery+div实现级联省份-城市查询,该实例包含jsp+js+css,所有代码为本人亲自编写,如有疑问请联系本人
jquery省市县三级级联插件
使用Jquery实现下拉级联操作。 JSP+Jquery+JAVA+sql2005_sql
好好看看!这是关于jQuery + Ajax + json 级联的一段代码!
下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框下拉级联框
例子使用强大的ajax框架jQuery实现的级联下拉列表
JQuery实例-年月日级联菜单.rar
用jquery的ajax实现的二级级联查询,其中用jsp或者servlet动态生成xml文件,然后再用jquery来解析xml获取其中的数据~~