2016-07-23 125 views
1

我正在使用select2 v4.0.3以及JQuery。 我初始化我的選擇是:select2顯示不更新標籤文本,但值正在更改

$("#datatype").select2({ 
     theme: "classic" 
     }); 

$("#unit").select2({ 
     theme: "classic" 
     }); 

然後我想,以檢測#datatype的改變,改變的#unit價值這一點我如下:

$("#datatype").on('select2:select',function() { 
    $("#unit").val('21'); //udpate unit type to be 'none' 
    }); 

的問題是,#unit值設置爲21,但該選擇器的顯示標籤未更新。有什麼建議麼 ?

看起來好像select2不知道該事件,或者它沒有正確設置以聆聽變化。我不確定解決方案是什麼。我對網絡技術很陌生。

回答

0

通過選擇二文檔挖掘之後,任何.val()更新需要被隨後$('#unit').trigger('change');

所以在我的情況下,代碼應該看起來像

$("#datatype").on('select2:select',function() { 
    $('#unit').val('21'); // Select the option with a value of '21' 
    $('#unit').trigger('change'); // Notify any JS components that the value changed 
}); 

注意,這是唯一真正的選擇2版4以上。

我還建議人們升級到版本4,因爲您可以直接調用以更改值而無需指定initSelect()