启用多重属性的选择菜单中取消选择项目的事件处理程序 [英] Event handler for unselection of an Item in select menu with mutiple properties enabled

查看:113
本文介绍了启用多重属性的选择菜单中取消选择项目的事件处理程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用一个选择菜单,该菜单将允许进行多项选择.我有一个事件处理程序

I am using a select menu which will allow multiple selections to be done. I have an event handler

 $("#idInventory").change(function () {
     $("#select option:selected").each(function () {
    });
});

当一个项目被选中时调用.在这里,我收集了曾经选择过的物品.但是我还需要知道何时取消选择每个选定的项目,以便我可以跟踪被取消选择的内容,以便可以跟踪用户现在是否已取消选择已选择的项目.

which is called when an item is selected. Here I collect what ever items are chosen . But I also need to know when each selected item is deselected so that I can track what is deselected so that I can keep track if something already chosen is now deselected by user.

更新:取消选中某个项目后,我没有触发此事件.

UPDATE: I am not getting this event triggered when an item is deselected.

推荐答案

我认为这是您可能正在寻找的:

I think this is what you might be looking for:

Kinda工作演示:

Kinda working demo:

HTML

<div data-role="page" data-theme="b" id="home"> 
    <div data-role="content">

        <div data-role="fieldcontain"> 
            <label for="select-choice-9" class="select">Choose shipping method(s):</label> 
            <select name="select-choice-9" id="select-choice-9" multiple="multiple" data-native-menu="false"> 
                <option>Choose options</option> 
                <option value="standard">Standard: 7 day</option> 
                <option value="rush">Rush: 3 days</option> 
                <option value="express">Express: next day</option> 
                <option value="overnight">Overnight</option> 
            </select> 
        </div>

    </div>
</div>

JS

var values = {
    selected: [],
    unselected:[]
};

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

更新:

$("#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

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

这篇关于启用多重属性的选择菜单中取消选择项目的事件处理程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆