2016-01-29 149 views
1

使用select2.js我有工作,除了一件事偉大的下拉菜單:在負載我不能點擊下拉菜單中的第一個選項,並將它顯示爲當前選擇。當點擊第一個選項時,沒有任何反應,並且如果下拉框失去焦點,佔位符將填充框。如果選擇了40個選項中的其他選項,該值文本將顯示在下拉框中,我可以在我的應用程序中使用該值。無法在Dropbox的選擇2選擇第一個選項

一個選項(比第一一個除外)之後被選中,我再次點擊第一個選項,然後在第一個選項值顯示在框中,我可以使用它沒有問題。此問題僅在加載時發生。

JS

$('.selectArea').select2({ 
     placeholder: 'Area #', 
     allowClear: true, 
     disabled: false 
    }); 

我已經填寫使用本地JSON文件下拉:

$.getJSON('areaList.json', function(json) { 
     for(i = 0; i < json.length; i++){ 
      $('<option>').attr('value', json[i].MGNT_AREA).text(json[i].MGNT_AREA).appendTo('.selectArea'); 
     } 
    }); 

HTML

<select class="selectArea" style='width: 120px; font-family: Arial'></select> 

我的目標是能夠加載的頁面與下拉框中的佔位符,然後能夠點擊fir st選項並讓它填充框,以便我可以將該值用於應用程序的其他部分。

任何幫助將不勝感激。

+0

爲了在下拉菜單中顯示默認值,您需要將selected =「selected」屬性添加到選項元素中。 – DinoMyte

+0

我試過:'$('select option:first-child')。attr('selected','selected');''它並沒有做到這一點。 – user5543624

回答

6

在向空白下拉列表中添加新選項後,您需要觸發change事件。

+2

在我的for循環中,我添加了$('。selectArea')。select2()。trigger('change');並且工作。謝謝!!! – user5543624

相關問題