Javascript jQuery:需要知道在更改事件中选择/取消选择了哪个选项

Javascript jQuery:需要知道在更改事件中选择/取消选择了哪个选项,javascript,jquery,html,selectlist,Javascript,Jquery,Html,Selectlist,我在jQuery中的selectlist有问题。 我做了一个值为“-1”的“全选”选项,当我单击它时,所有选项都标记为选中。 但是,当我想取消选择“全选”选项时,我不知道如何知道我是否确实取消了“全选”选项 有人知道我怎么做吗 HTML: <select id="selectlist" name="selectlist" checkedAll="false"> <option id="all" value="-1">Choose all</option&g

我在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>
$("#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");
            });
        }
    }
});

我知道这并不是解决上述问题的具体办法,但不久前我遇到了同样的情况

解决方案是由Eric Hynds定制的插件:


我建议你试试;)

我看到了一些错误,因为我编辑了ID的名称,然后将其发布到这里,以便于阅读。现在已经修复了问题中的代码部分!为什么你不能只使用全选作为选项,而不尝试将其他选项标记为选中?我想我可以这样做,但我希望检查所有其他选项,以便用户可以看到它们已被选中。我在其他项目中使用过该插件,但在这种情况下,我使用的是移动UI,因此对于使用touch来说,它有点太小了:(啊,我明白了……回到原点:)