我还不熟悉jQuery,所以很难让语法正确。 我试图根据是否选中复选框,一次性选择或取消选择selectlist元素的所有元素。
我在SO处找到了一些帮助,但经过大量的观察和测试后,需要向社区提问......
在下面的if / else分支中,else分支正常工作:
if ($('input[name="select_markers"]:checked').length > 0) {
$("#markerlist").prop('selected',true);
} else {
$('form select option').prop('selected',false);
}
但是,这会影响表单中的所有选择元素,这是我不想要的。我只想影响元素#markerlist,我试图在if分支中做 - 但我不能让这部分工作。
我已经看过很多其他迭代select元素的例子,但是如果可以的话,我想让这个更干净的语法工作。
TIA, rixter
答案 0 :(得分:1)
我建议:
$('input[name="select_markers"]').change(
function(){
if ($(this).is(':checked')){
$('#markerlist').find('option').prop('selected','selected')
}
else {
$('#markerlist').find('option').prop('selected',false)
}
});
答案 1 :(得分:0)
试试这个
$(".someClass option").attr("selected", "selected");