`

Jquery修改时下拉框级联初始化问题

阅读更多

做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>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics