如何为select标签中的json响应对象提供复选框?

时间:2015-07-20 12:33:51

标签: ajax json html5 thymeleaf

<script>
$(document).ready(function() {  
      $('#state').change(function(event) {
       var $c=$("#state").val();
       $.get('getCities',{id:$c},function(responseJson) {
           var $select = $("#city");                           
           $select.find('option').remove();
           $.each(responseJson, function(key, value) { 
               $('<option ></option>').val(key).text(value).appendTo($select);                   
           });
        });
    });
});       

</script>

<form action="postingRequirementSaving" th:object="${PostRequirementCommand}">

        <label>State:</label> 
        <select th:field="*{stateid}" id="state">
            <option value="0" selected="selected">&ndash; Select an option &ndash;</option>
            <option th:each="var :${state}" th:value="${var.stateid}" th:text="${var.statename}"></option>
        </select> <span class="error"></span>

        <label>City:</label>
        <select th:field="*{city}">
            <option value="0">Select City</option>
        </select>
</form>

Json响应不支持多个select jquery插件。 请任何人帮我解决。

我正在使用spring hibernate框架工作。 当我使用静态数据时,它可以正常工作,但是当它变得动态时,它就无法正常工作。

1 个答案:

答案 0 :(得分:0)

如果您使用的是插件,则必须在加载响应后初始化选择字段。

例如,如果您使用此插件:

 <script src="jquery.multiple.select.js"></script>

收到jsonResponse后,您必须初始化城市选择器。而且在上面的代码中你必须为选择器添加一个id。

<script>
$(document).ready(function() {  
  $('#state').change(function(event) {
   var $c=$("#state").val();
   $.get('getCities',{id:$c},function(responseJson) {
       var $select = $("#city");                           
       $select.find('option').remove();
       $.each(responseJson, function(key, value) { 
           $('<option ></option>').val(key).text(value).appendTo($select);                   
       });
       $select.multipleSelect();
    });
});
});
</script>