$(‘#select1′).val(’10’);当给select设置一个select下拉中不存在的值,$(‘#select1’).val()和$(‘#select1’).find(‘option:selected’).val()得到的结果分别为“null”和“undefined”。
$(‘#select1 option[value=”10″]’).prop(“selected”,true);设置一个select中不存在的值,select不变化。
测试代码:
<script src="//libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
XXX:<select id="select1">
<option value="0">请选择</option>
<option value="1">1111</option>
<option value="2">2222</option>
<option value="3">3333</option>
<option value="4">4444</option>
<option value="5">5555</option>
<option value="6">6666</option>
</select>
<br/><br/>
值:<input type="text" id="i1" value="0">
<button onclick="setSelect1();">设置1</button>
<button onclick="setSelect2();">设置2</button>
<br/><br/>
<button onclick="sub();">提交</button>
<script type="text/javascript">
function setSelect1(){
var vv=$('#i1').val();
$('#select1 option[value="'+vv+'"]').prop("selected",true);
//$('#select1 option[value="'+vv+'"]').prop("selected", "selected");
}
function setSelect2(){
var vv=$('#i1').val();
$('#select1').val(vv);
}
function sub(){
var val_1=$('#select1').val();
var val_2=$('#select1').find('option:selected').val();
console.log('结果', val_1, val_2);
}
</script>