2011-06-14 37 views
1

我正在使用選擇菜單,它將允許進行多項選擇。我有一個事件處理程序用於在啓用了多個屬性的選擇菜單中取消選擇項目的事件處理程序

​​

當選擇一個項目時調用它。在這裏,我收集選擇的項目。但是我還需要知道每個選定項目何時取消選擇,以便我可以跟蹤什麼被取消選擇,以便我可以跟蹤如果已選擇的內容現在被用戶取消選擇。

更新:我沒有在取消某個項目時觸發此事件。

回答

1

我想這是你可能會尋找:

有點兒工作演示:

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); 
}); 

UPDATE:

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

正是這個,我期待.. – Krishnan 2011-06-15 05:13:57

+0

Phill,這工作正常,如果我添加靜態選擇菜單的選項,如果我已經添加dynamicall,它沒有得到正確的結果。 – Krishnan 2011-06-15 14:28:22

+0

請參閱更新。我添加了頁面()來刷新jQM,看看是否有幫助 – 2011-06-15 15:02:20

0
$("option").click(function(){ 
    if(this.selected) 
     //do what you want to do 
}); 
+0

更新了問題的代碼。我試着用你的建議。但那並不奏效。我使用的事件處理程序工作,但我需要找到當前取消選擇。 – Krishnan 2011-06-14 12:24:43

相關問題