使用ajax请求填充所选的multiple-get插件


populate chosen multiple get plugin with ajax request

我在用ajax调用的数据填充所选插件multiple get时遇到了问题。我厌倦了下面的帖子,

Jquery Chosen插件-通过Ajax 动态填充列表

多选-选择jQuery

Jquery选择的ajax调用填充multiselect不工作

但无济于事。数据就是没有被填充:(我的ajax请求如下,

 <script type="text/javascript" lang="javascript">
 function doGetTag() {
        alert('here');     
        $.ajax({
            url: 'index.php/rest/resource/qtag',
            //data: data,               
            success: function(data) {
                var jsonObj = JSON.parse(data);
                var tags = "";
                var curVal = document.getElementById('tags').innerHTML;
                for(var i = 0; i < jsonObj.length; i++) {
                    var tagObj = jsonObj[i];
                    //document.write("<option>" + tagObj.tagName + "</option>");
                    var tagHtml = "<option>" + tagObj.tagName + "</option></br>";
                    tags = tags + tagHtml ;
                }
                tagTotal = curVal + tags;
                document.getElementById('tags').innerHTML = tagTotal;            
                alert( document.getElementById('tags').innerHTML);
            },
            type: "get"     
        });
 }   
 </script>

返回一个json字符串。如果我在消息框中提醒它,数据就会正确地显示在这里。但问题是如何填充多get插件?以下是我的html,

 <select data-placeholder="Tag your question here" style="width:350px;height:50px;" multiple class="chosen-select" id="tags">
      <option value="" ></option>
 </select>

我是这个插件的新手,非常感谢您的帮助:)

仅供参考

我使用如下的直接php,

 <select data-placeholder="Tag your question here" style="width:350px;height:50px;" multiple class="chosen-select" id="tags">
      <option value="" ></option>
               <?php
                    $con=mysqli_connect("localhost","user","pass","db");
                    $result = mysqli_query($con,"SELECT * FROM tags");
                    while($row = mysqli_fetch_array($result))
                    {
                        echo"<option>".$row['tagName']."</option>";
                        echo"</br>";
                    }
                ?>
   </select>

并且它正确地显示了数据,但项目需求指出,必须使用AJAX请求来填充数据。非常感谢:)非常感谢您的专家建议:)

首先检查您的url:'index.php/rest/resource/qtag',

这可能起作用:

success: function(data) {
   $("#tags").html(data).trigger('liszt:updated');
}

其中数据=(来源回波)

<选项值=0><选项>
<选项值=1>选项1<选项>
<选项值=2>选项2<选项>