select option中数据的读取及判断相等的值并输出选中的值
刚在使用option对象的text 和value中出现了一些小的问题,现在进行一些总结
下面是我刚做的一个实例
1.这个是对下拉框中的数值和被选中值得判断
$(document).ready(function() {
for ( var i = 0; i < $("#sysDep option").length; i++) {
if ($("#sysDep ").get(0).options[i].value == $("#sysDeps").val()) {
$("#sysDep ").get(0).options[i].selected = true;
break;
}
}
for ( var i = 0; i < $("#sysLimitVisit option").length; i++) {
if ($("#sysLimitVisit ").get(0).options[i].value == $("#sysLimitVisits").val()) {
$("#sysLimitVisit ").get(0).options[i].selected = true;
break;
}
}
for ( var i = 0; i < $("#sysSort option").length; i++) {
if ($("#sysSort ").get(0).options[i].value == $("#sysSorts").val()) {
$("#sysSort ").get(0).options[i].selected = true;
break;
}
}
for ( var i = 0; i < $("#sysLevel option").length; i++) {
if ($("#sysLevel ").get(0).options[i].value == $("#sysLevels").val()) {
$("#sysLevel ").get(0).options[i].selected = true;
break;
}
}
for ( var i = 0; i < $("#sysVersion option").length; i++) {
if ($("#sysVersion ").get(0).options[i].value == $("#sysVersions").val()) {
$("#sysVersion ").get(0).options[i].selected = true;
break;
}
}
});
2.下拉框中的数值用到了list列表,如下
<select name="sysDep" class="limit" id="sysDep">
<#list orgList as orgList>
<option value="${orgList.orgNickname!}">${orgList.orgName!}</option>
</#list>
</select>
3.被选中的数值在页面中隐藏起来,如下
<input type="hidden" name="sysLimitVisits" id="sysLimitVisits" value="${flmgSys.sysLimitVisit!}"/>
<input type="hidden" name="sysSorts" id="sysSorts" value="${flmgSys.sysSort!}"/>
<input type="hidden" name="sysDeps" id="sysDeps" value="${flmgSys.sysDep!}"/>
<input type="hidden" name="sysVersions" id="sysVersions" value="${flmgSys.sysVersion!}"/>
<input type="hidden" name="sysLevels" id="sysLevels" value="${flmgSys.sysLevel!}"/>
4.对text和value 的说明
text获取的值是在页面中显示的文字,而value则是id值,所以我们在判断哪个值被选中是只需要判断id值就行,即value的值,但是要注意区分value 和val()的区别,
value针对的是多个列表中的其中一个值,而val()显示的一个文本框的值。切记不可混淆。