jQuery:需要知道在更改事件中选择/取消选择的选项

时间:2012-04-02 13:10:17

标签: javascript jquery html selectlist

我在jQuery中的selectlist有问题。 我已经使用值“-1”进行了“全选”选项,当我单击它时,所有选项都标记为已选中。 但是,当我想取消选择“全选”选项时,我无法弄清楚如何知道我是否实际取消了“全选”选项。

任何人都知道我该怎么做?

HTML:

<select id="selectlist" name="selectlist" checkedAll="false">
     <option id="all" value="-1">Choose all</option>
     <option value="1" choice="true">Option 1</option>
     <option value="2" choice="true">Option 2</option>
     <option value="3" choice="true">Option 3</option>
</select>

使用Javascript:

$("#selectlist").live("change", function (event) {
    if ($(this).val() == "-1") {
        var isChecked = $("#selectlist").attr("checkedAll");
        if (isChecked == "false") {
            $("#selectlist").attr("checkedAll", "true");
            $("#selectlist option[choice='true']").each(function () {
                $(this).attr("selected", "selected");
            });
        }
        else {
            $("#selectlist").attr("checkedAll", "false");
            $("#selectlist option[choice='true']").each(function () {
                $(this).removeAttr("selected");
            });
        }
    }
});

1 个答案:

答案 0 :(得分:0)

我知道这不是上述问题的具体解决方案,但我前段时间遇到过相同的情况。

解决方案是自定义插件: jQuery UI Multiselect Eric Hynds

我建议你试一试;)