2012-11-12 187 views
2

我正在嘗試將jquery-jquery-chosen集成到我的應用程序中。使用jQuery-在表單上選擇通過javascript填充選擇填充

我有兩個選擇控制:根據從第一個(經典級聯選擇)選擇的值,當用戶選擇從第一個選擇,第二個動態更新(通過jQuery的)。

這是在第二個選擇控件,我希望使用jquery選擇。

這裏是我的js

$(document).ready(function() { 
    $(".chzn-select").chosen(); 
}); 

$(document).ready(function() { 
    var geolocationRegionSelect = $("#geolocationRegionSelect");//first select control 
    geolocationRegionSelect.bind('change', function(event) { 
     $.get("/kadjoukor/geolocations/findDepartmentsByRegion?regionId="+$(this).val(), function(result){ 
      console.log(result);   
      var geolocationDepartmentSelect = $("#geolocationDepartmentSelect");//second select control 
      geolocationDepartmentSelect.empty(); 
      $.each(result, function() { 
       geolocationDepartmentSelect.append($("<option />").val(this.id).text(this.department)); 
      }); 
     }, 'json'); 
     $("#geolocationDepartmentSelect").trigger("liszt:updated"); 
    }); 
}); 

這裏是第二控制在html:

<div class="controls"> 
     <select id="geolocationDepartmentSelect" data-placeholder="Choose a department" multiple="multiple" class="chzn-select chzn-done"></select> 
    </div> 

我注意到一個靜態填充選擇的作品,使用jQuery的選擇罰款。只有我動態填充的選擇(第二個),我不能讓jquery選擇工作。

我試圖用觸發功能記錄在JQ-選擇頁:

更新選上的動態

如果您需要在您的 選擇字段更新選項,並希望獲選要選擇更改,您需要在該字段觸發「liszt:updated」事件 。 Chosen將根據更新的內容重新構建 。

它不適合我遺憾的是工作...

編輯:我還必須提到的是,選擇的控制只是呈現爲一個普通的HTML倍數加載頁面時選擇。

回答

1

我改變了Select控制:

<select id="geolocationDepartmentSelect" data-placeholder="Choose a department" multiple="multiple" class="chzn-select"></select> 

和JS來:

$(".chzn-select").chosen({no_results_text: "No results matched"}); 

$(".chzn-select").trigger("liszt:updated"); 

和問題走了。