我有这个<script>
:
// autocomplet : this function will be executed every time we change the text
function autocomplet() {
var min_length = 0; // min caracters to display the autocomplete
var keyword = $('#stock_name').val();
if (keyword.length >= min_length) {
$.ajax({
url: 'search',
type: 'POST',
dataType: 'application/json',
data: {keyword:keyword},
success:function(data){
$('#stock_list').show();
$('#stock_list').html(data);
}
});
} else {
$('#stock_list').hide();
}
}
// set_item : this function will be executed when we select an item
function set_item(item) {
// change input value
$('#stock_name').val(item);
// hide proposition list
$('#stock_list').hide();
}
当使用 Google Chrome 开发工具时,我可以看到我收到了响应:
{aktie: "Hoist Finance AB"}, {aktie: "Holmen AB ser. A"}, {aktie: "Holmen AB ser. B"}]
0: {aktie: "Hoist Finance AB"}
1: {aktie: "Holmen AB ser. A"}
2: {aktie: "Holmen AB ser. B"}
我想在 div 中显示 JSON 响应,但它就是不显示!
<div class="content">
<form>
<div class="label_div">Type a Stock : </div>
<div class="input_container">
<input type="text" id="stock_name" onkeyup="autocomplet()">
<ul id="stock_list">asd</ul>
</div>
</form>
</div>
我已经尝试过append
, val
以及 jQuery 文档中的其他一些内容,但什么也没有。
我的问题:我如何在 div stock_list
中显示我得到的 JSON 响应?
最佳答案
定义 Success 函数,如下所示。
将 html 代码更改为:
success:onSuccess
然后定义函数onSuccess()
:
function onSuccess(data) {
$('#stock_list').show().html("");
$.each(data, function() {
$("#stock_list").append("<li>" + this.aktie + "</li>");
});
}
}
关于jquery - JSON 响应不会附加到 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33830911/