2016-02-02 144 views
2

我正在使用jQuery Chosen將我的select轉換爲多選。當我選擇第二個項目時,當我做$(this).val()時,它給了我兩個選定的項目。獲取剛剛從jQuery中選擇的值選擇了多個select元素

我只想要我在那時選擇的項目的值。

以下是我的代碼。

$("#languageId").chosen().on("change",function() { 
    alert($(this).val()); 
}); 

HTML:

<select id="languageId" multiple > 
    <option value="Hindi">Hindi</option> 
    <option value="English">English</option> 
</select> 

回答

3

根據the documentation

選上的觸發每當做出一個選擇標準DOM事件(也發送selecteddeselected參數,它告訴你哪些選項已更改)。

因此可以說在change事件回調傳遞的params對象訪問selected/deselected財產。換句話說,params.selected/params.deselected將是剛被選擇/取消選擇的option元素的值。

Example Here

$("#languageId").chosen().on("change", function(event, params) { 
    var value = $(this).val(); 
    var changedValue = params.selected || params.deselected; 

    // ... 
}); 

尋址下方的評論,你可以簡單地檢查其屬性是params對象,以便確定的選項是否被選擇/取消:

$("#languageId").chosen().on("change", function(event, params) { 
    if (params.selected) { 
    console.log('The option: ' + params.selected + ' was selected.'); 
    } 
    if (params.deselected) { 
    console.log('The option: ' + params.deselected + ' was deselected.'); 
    } 
}); 
+0

萬分感謝 – Parag

+0

我如何知道該選項是新選擇的還是當前選定的選項被取消選擇? – Parag

+0

再次感謝... – Parag

相關問題