Обработчик событий для отмены выбора элемента в меню выбора с включенными множественными свойствами - PullRequest
1 голос
/ 14 июня 2011

Я использую меню выбора, которое позволит сделать несколько выборов.У меня есть обработчик событий

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

, который вызывается при выборе элемента.Здесь я собираю то, что выбрано.Но мне также нужно знать, когда каждый выбранный элемент отменен, чтобы я мог отслеживать то, что отменено, чтобы я мог отслеживать, отменено ли что-то уже выбранное пользователем.

ОБНОВЛЕНИЕ: Я не получаю это событие, когда элемент отменяется.

Ответы [ 2 ]

1 голос
/ 14 июня 2011

Я думаю, это то, что вы можете искать:

Рабочая демо-версия:

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");
0 голосов
/ 14 июня 2011
$("option").click(function(){
    if(this.selected)
      //do what you want to do
});
...