<form:select path="aa" class="input-xlarge ">
<form:options items="${bb}" itemLabel="label" itemValue="value" htmlEscape="false"/>
</form:select>
以上为简易的源代码,如果只是单纯的设置默认值,可以使用jquery
$('#aa').val('1').trigger('change');
val中的值相当于option的value,也就是想要设置为默认值的val。
以下说一下我的需求:
页面中有不止一个form:select form:option,并且面临后台会传值或不传值的现象,不传值,就要设置默认值,反之不需要。
面临如此需求,我在每一个form:select中设置了一个大体相同的id,id最后用数字区分。
<form:select path="aa" class="input-xlarge " id="default0">
<form:options items="${bb}" itemLabel="label" itemValue="value" htmlEscape="false"/>
</form:select>
<form:select path="aa" class="input-xlarge " id="default1">
<form:options items="${bb}" itemLabel="label" itemValue="value" htmlEscape="false"/>
</form:select>
...
接下来看jquery
$(function(){
//select的总数
var count = 10;
for(var i=0;i<count;i++){
//如果后台不传值,就设置默认值
if($('#default' + i).val() == '' ){
//因为只有一个下拉列表默认值的value和其他不一样,所以使用了switch
switch (i){
case 2:
$('#default' + i).val('2').trigger('change');
break;
default :
$('#default' + i).val('1').trigger('change');
}
}
}
如果你有不一样的写法,或者觉得我写的不对,请留言,接受批评。