如何使用jQuery选择/取消选择选择列表中的所有选项?

如何使用jQuery选择/取消选择选择列表中的所有选项?,jquery,Jquery,我还不熟悉jQuery,因此很难获得正确的语法。 我试图根据复选框是否选中,一次选择或取消选择selectlist元素的所有元素 我在SO找到了一些帮助,但经过大量的查找和测试,需要询问社区 在下面的if/else分支中,else分支正常工作: if ($('input[name="select_markers"]:checked').length > 0) { $("#markerlist").prop('selected',true); } else {

我还不熟悉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);
    }
但是,这会影响表单中的所有select元素,这是我不希望看到的。我只想影响元素#markerlist,我正试图在if分支中实现它——但我无法让这部分正常工作

我已经看到了许多其他迭代select元素的示例,但是如果可以的话,我想让这种更简洁的语法起作用

蒂亚, 里克斯特

我建议:

$('input[name="select_markers"]').change(
    function(){
        if ($(this).is(':checked')){
            $('#markerlist').find('option').prop('selected','selected')
        }
        else {
            $('#markerlist').find('option').prop('selected',false)
        }
    });
.

试试这个

 $(".someClass option").attr("selected", "selected");

你试过这个吗$('form select option')=>$('#marketlist option')我不确定我是否理解这个问题。如果可以的话,请随意处理。我想看看这个的HTML。