2014-11-02 49 views
0

我有以下代碼用於JQuery多選複選框下拉菜單。JQuery multiselect複選框下拉事件處理

當用戶選中複選框時,我可以捕獲事件。但是我想在用戶選擇複選框並關閉下拉菜單時觸發事件?我不想爲每個複選框選擇插入數據庫,而是當用戶選擇他的複選框並關閉下拉菜單時?還應該能夠檢索選定的值。由於

<div id="multiCheckbox"> 
    <select name="busiUnit" id="day" multiple="multiple" 
     data-native-menu="false"> 
     <option>Business Unit</option> 
     <option value="1">Finance</option> 
     <option value="2">R&D</option> 
     <option value="3">Sales</option> 
     <option value="4">Inventory</option> 
    </select> 
</div> 

JS代碼:

$("#day").change(function() { 
    var str = '', 
     busiArray = array(); 

    $("select#day option:selected").each(function() { 
     str = $(this).text(); 
     busiArray.push(str); 
    }); 
}); 
+0

可能重複的[Jquery的事件用於關閉和打開選擇下拉,而不是更換](http://stackoverflow.com/questions/20321553/jquery-events-for-closing-and-opening- select-drop-down-and-on-change) – 2014-11-02 10:37:34

+1

你不會聽你的代碼中任何複選框的改變事件。實際上,HTML中沒有複選框。 – undefined 2014-11-02 10:40:24

+0

@Vohuman他希望在關閉彈出菜單/選擇菜單時運行代碼,因此在此不需要更改事件:)自定義選擇菜單會轉換爲帶有用於多重選擇的複選框的彈出框。 – Omar 2014-11-02 10:49:25

回答

1

多選selectmenu被轉換成一個彈出。該彈出窗口收到ID爲select-listbox動態添加到它。

附加popupafterclose然後運行您的代碼。的

$(document).on("popupafterclose", "#day-listbox", function() { 
    /* code */ 
}); 
+0

謝謝奧馬爾,它的工作。 – 2014-11-03 14:41:06

+0

@JohnsonTummalapalli不客氣:) – Omar 2014-11-03 14:44:29