我在使用ajax调用中的数据填充所选插件时遇到问题。我厌倦了以下帖子,
Jquery Chosen plugin - dynamically populate list by Ajax
Multiple Select - Chosen jQuery
Jquery chosen ajax call populate multiselelect not working
但没有帮助。数据没有填满:(我的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>
我对这个插件很新,非常感谢你的帮助:)。
FYI
我是使用直接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 请求来填充数据。非常感谢:)非常感谢您的专家建议:)
答案 0 :(得分:0)
全部检查你的 url:'index.php / rest / resource / qtag',
这可能有效:
success: function(data) {
$("#tags").html(data).trigger('liszt:updated');
}
其中data =(来自sourse的回声)
&lt; option value = 0&gt; &LT; /选项&GT;
&lt; option value = 1&gt;选项1&lt; / option&gt;
&lt; option value = 2&gt;选项2&lt; / option&gt;