我在用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<选项>