您可以使用不同的方法来实现这一点:(
请记住,如果要操作一个元素,最好给它一个 id 或类,而不是让它的父元素一个 id 或类)。
在这里,由于 div 有一个类来定位其中的选择,代码将是:
$("div.id_100 select").val("val2");
或者
$('div.id_100 option[value="val2"]').prop("selected", true);
如果该类将被赋予选择自身,则代码将是:
$(".id_100").val("val2");
或者
$('.id_100 option[value=val2]').attr('selected','selected');
或者
$('.id_100 option')
.removeAttr('selected')
.filter('[value=val1]')
.attr('selected', true);
要动态传递值,代码将是:
valu="val2";
$("div.id_100 select").val(valu);
$("div.id_100 > select > option[value=" + valu + "]").prop("selected",true);
如果元素是通过 ajax 添加的,则必须为元素提供“id”并使用
window.document.getElementById 否则,您必须为元素提供“class”并使用
window.document.getElementById
您还可以通过它的索引号选择选择元素的值。
如果您为您的选择元素提供了 ID,则代码将是:
window.document.getElementById('select_element').selectedIndex = 4;
请记住,当您如上所述更改选择值时,不会调用更改方法。
即,如果您编写了代码来更改选择,则上述方法将更改选择值但不会触发更改。
要触发更改功能,您必须在最后添加 .change() 。所以代码将是:
$("#select_id").val("val2").change();