簡體   English   中英

jQuery select2 .on(“更改”,功能(e)重置選項

[英]jquery select2 .on(“change”, function(e) reset option

我正在使用select2。

用法:如果值是"COUNTRY" ,我想向select2添加一個onchange事件,否則我想刪除onchange事件,如下所示:

var reportLevel = getReportLevel();

if (reportLevel != "COUNTRY") {
    $("#selected_countries").on("change", function(e) {
        prepareGlidModel(e);
    });
} else {
    $("#selected_countries").on("change", function(e) {
    });
}

問題:即使調用了else塊,也無法刪除onchange事件。 根據dropdown選擇的reportLevel值調用事件。

嘗試以下操作:

var reportLevel = getReportLevel(),
    // by default unbind/off change event
    $select = $("#selected_countries").off("change");

// and if country then bind it
if (reportLevel == "COUNTRY") {
   $select.on("change", function(e) {
       alert("you selected :" + $(this).val());
   });
}

此處的工作示例: http : //jsfiddle.net/JB89B/1/

我認為在其他情況下,您想為此使用將值重置為默認值

$("#selected_countries").val('default value')

如果你只是想阻止onchange事件的默認動作,那么你可以寫

e.preventDefault()

這會有所幫助

您可以使用off從元素中分離事件處理程序,如下所示:

$("#selected_countries").off('change');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM