你可以用不同的方法来实现这一点(记住,如果要操作一个元素,最好给它一个id或类,而不是让它的父元素是一个id或类):
在这里,由于div有一个类来针对它内部的select,代码将是:
$("div.id_100 select").val("val2");
or
$('div.id_100 option[value="val2"]').prop("selected", true);
如果给类选择自己,代码将是:
$(".id_100").val("val2");
or
$('.id_100 option[value=val2]').attr('selected','selected');
or
$('.id_100 option')
.removeAttr('selected')
.filter('[value=val1]')
.attr('selected', true);
要动态传递值,代码将是:
值=“val2”;
$("div.id_100 select").val(valu);
$("div.id_100 > select > option[value=" + valu + "]").prop("selected",true);
如果元素是通过Ajax添加的,你必须给你的元素'id',并使用:
window.document.getElementById
否则,你将不得不给你的元素和使用的“类”
window.document.getElementById
您还可以通过索引号来选择select元素的值。
如果你给了你的选择元素ID,代码将是:
window.document.getElementById('select_element').selectedIndex = 4;
记住,当您像上面所说的那样更改选择值时,不会调用change方法。
也就是说,如果你写了一些代码来改变选择,上面的方法会改变选择值,但不会触发改变。
要触发change函数,必须在末尾添加.change()。
所以代码是:
$("#select_id").val("val2").change();