2013-11-22 27 views
0

我已經使用了JQuery選擇框並選擇了需要動態更新的數據。我以某種方式嘗試它不工作了JQuery選擇根據會話值動態更新數據

<select 
    title="Select your Area" 
    data-placeholder="Select Your Area" 
    style="width: 200px; float: left; height: 36px;" 
    class="chosen-select-deselect" form="searcharea" id="sltarea" 
    name="area"> 

    <div th:each="area,rowStat : ${session.areas}" th:remove="tag"> 
    <option 
     th:if="${#strings.equals(session.searcharea,area.areaName)}" 
     selected="selected" th:text="${area.areaName}" 
     th:value="${area.areaName}" 
     th:attr="data-lat=${area.lat},data-lng=${area.lng},data-city=${area.cityName}">   
    </option> 

    <option 
     th:unless="${#strings.equals(session.searcharea,area.areaName)}" 
     th:text="${area.areaName}" th:value="${area.areaName}" 
     th:attr="data-lat=${area.lat},data-lng=${area.lng},data-city=${area.cityName}">  
    </option> 
    </div> 
</select> 

每當「區」中的會話數據的變化我想刷新德選擇選擇框用新的面積值

我使用jQuery觸發下面的代碼,但它沒有更新

$(".sltarea").trigger("chosen:updated"); 

回答

1

我解決我的問題,因爲在的jsfiddle

HTML解釋

    <li> 
      <label for="progetto">Progetto</label> 
      <select name="progetto" id="progetto" data-placeholder="Tipo di progetto" style="width:210px;" class="chzn-select" tabindex="4"> 
       <option value="">Scegli...</option> 
       <option value="sito">Sito Web</option> 
       <option value="fotoritocco">Fotoritocco</option> 
       <option value="fotodvd">Foto DVD</option> 
       <option value="altro">Altro</option>    
      </select> 
      </li> 

      <li> 
      <label for="budget">Budget</label> 
      <select name="budget" id="budget" data-placeholder="Budget" style="width:210px;" class="chzn-select" tabindex="5"> 
       <option value="">--</option>     
        <option value="1000" class="sito">€ 1000</option> 
        <option value="2000" class="sito">€ 2000</option> 
        <option value="3000" class="sito">€ 3000</option> 
        <option value="50" class="fotoritocco">€ 50,00</option> 
        <option value="100" class="fotoritocco">€ 100,00</option> 
        <option value="200" class="fotoritocco">€ 200,00</option> 
      </select> 
      </li> 

腳本

$(function() { 
$("#budget").chained("#progetto"); 
//refresh#budget's chosen to reflect changes made with "chained" 
$("#budget").trigger("liszt:updated"); 

$("#progetto").bind("change", function(){ 
    //every time $progetto change, resfresh #budget's chosen 
    $("#budget").trigger("liszt:updated") 
});}); 

外部資源link

+0

的主要問題是,在原來的文檔:https://harvesthq.github.io/chosen/說你必須使用$(「#budget」)。trigger(「CHOSEN:updated」)來更新選擇,而且必須使用LISZT。 – Chococroc