我有一系列的选择,我不幸要注入一个名为'请选择'的选项作为第一个选项。然后,我想在页面上的所有选项中选择“请选择”。由于我无法更改HTML,这是我唯一的选择。
然而,我的代码似乎只是选择了第一个选择'请选择'。
HTML:
<select name="" id="" class="cartDdlOptions">
<option value="1">Some Value</option>
<option value="2">Some Value</option>
<option value="3">Some Value</option>
<option value="4">Some Value</option>
</select>
<select name="" id="" class="cartDdlOptions">
<option value="1">Some Value</option>
<option value="2">Some Value</option>
<option value="3">Some Value</option>
<option value="4">Some Value</option>
</select>
<select name="" id="" class="cartDdlOptions">
<option value="1">Some Value</option>
<option value="2">Some Value</option>
<option value="3">Some Value</option>
<option value="4">Some Value</option>
</select>
jQuery的:
$(window).load(function(){
$('.cartDdlOptions').prepend('<option value="" selected>Please Select</option>');
var selectOperator = $(".cartDdlOptions option").eq(0);
$(".cartDdlOptions").each(function(){
if (selectOperator.val() == ""){
console.log(selectOperator);
selectOperator.attr("selected", true);
}
});
});
真的无法解决这个问题。帮助将不胜感激。
答案 0 :(得分:2)
你只需要用两行就可以做到这一点,而不是用这种方式编写很多代码:
$(".cartDdlOptions").each(function(){
$(this).prepend('<option value="0" selected>Please Select</option>'); //add please select option
$(this).val("0") // set it as selected
});
如果您不想设置值属性,那么您可以按@ T.J Cowder指出:
$(".cartDdlOptions").each(function () {
$(this).prepend('<option value="" selected>Please Select</option>'); //add please select option
$(this).val("") // set it as selected
});