Jquery mobile 在启用多个属性的“选择”菜单中取消选择项的事件处理程序

Jquery mobile 在启用多个属性的“选择”菜单中取消选择项的事件处理程序,jquery-mobile,select-menu,Jquery Mobile,Select Menu,我使用的是一个选择菜单,可以进行多种选择。我有一个事件处理程序 $("#idInventory").change(function () { $("#select option:selected").each(function () { }); }); 当选择项目时调用。在这里,我收集所有选择的项目。但我还需要知道每个选中的项目何时被取消选中,这样我就可以跟踪取消选中的项目,这样我就可以跟踪用户现在是否取消选中了已经选中的项目 更新:取消选择某个项目时,我不会触发此事件。我

我使用的是一个选择菜单,可以进行多种选择。我有一个事件处理程序

 $("#idInventory").change(function () {
     $("#select option:selected").each(function () {
    });
});
当选择项目时调用。在这里,我收集所有选择的项目。但我还需要知道每个选中的项目何时被取消选中,这样我就可以跟踪取消选中的项目,这样我就可以跟踪用户现在是否取消选中了已经选中的项目


更新:取消选择某个项目时,我不会触发此事件。

我想这就是您可能要查找的内容:

$("option").click(function(){
    if(this.selected)
      //do what you want to do
});
类似于一个工作演示:

HTML

更新:

$("#select-choice-9").change(function () {
    values.selected   = [];
    values.unselected = [];

    $("#select-choice-9 option").each(function(){
        values[this.selected ? 'selected' : 'unselected'].push(this.value);
    });

    alert('Selected: '+values.selected+' Unselected: '+values.unselected);
}).page();
更新#2


我想这就是你可能想要的:

类似于一个工作演示:

HTML

更新:

$("#select-choice-9").change(function () {
    values.selected   = [];
    values.unselected = [];

    $("#select-choice-9 option").each(function(){
        values[this.selected ? 'selected' : 'unselected'].push(this.value);
    });

    alert('Selected: '+values.selected+' Unselected: '+values.unselected);
}).page();
更新#2


更新了问题中的代码。我试着用你的建议。但这并不奏效。我使用的事件处理程序可以工作,但我需要找到当前取消选择的内容。更新了问题中的代码。我试着用你的建议。但这并不奏效。我使用的事件处理程序可以工作,但我需要找到当前取消选择的内容。Phill,如果我静态添加了“选择”菜单的选项,这可以正常工作,如果添加了DynamicCall,则无法获得正确的结果。请参阅更新。我添加了page()来刷新jQM,看看这是否有助于感谢Phill,但这并不能解决问题。是否有任何方法可以获取选定和未选定的元素。更新#2.checkboxradio(“刷新”);真正的问题是,即使取消了选择,也不会调用事件处理程序。甚至选择也被认为是未选择。我尚未应用更新2。感谢PhillPhill,如果我静态添加了“选择”菜单的选项,这会很好,如果我添加了DynamicCall,则不会得到正确的结果。请参阅更新。我添加了page()来刷新jQM,看看这是否有助于感谢Phill,但这并不能解决问题。是否有任何方法可以获取选定和未选定的元素。更新#2.checkboxradio(“刷新”);真正的问题是,即使取消了选择,也不会调用事件处理程序。甚至选择也被认为是未选择。我尚未应用更新2。谢谢Phill
$("#select-choice-9").change(function () {
    values.selected   = [];
    values.unselected = [];

    $("#select-choice-9 option").each(function(){
        values[this.selected ? 'selected' : 'unselected'].push(this.value);
    });

    alert('Selected: '+values.selected+' Unselected: '+values.unselected);
}).page();
$("#select-choice-9").change(function () {
    values.selected   = [];
    values.unselected = [];

    $("#select-choice-9 option").each(function(){
        values[this.selected ? 'selected' : 'unselected'].push(this.value);
    });

    alert('Selected: '+values.selected+' Unselected: '+values.unselected);
}).checkboxradio("refresh");