我在jQuery $ .each循环中无法获得正确的值。
function suggestit() {
var value = $input.val();
$.getJSON( "ajax.php?search=" + value + "?suggested_size=5&mode=game", function( data ) {
$.each(result, function(i, field){
$("#results").append("<p>" + field + "</p>");
});
});
}
当用户停止在suggestit()
文本字段中输入时,系统会调用$input
函数。
然后应显示JSON文件中的所有游戏。
JSON看起来像这样:
["data"]=>
["attributes"]=>
// snip
["included"]=>
[0]=>
["name"]=>
string(31) "Grand Theft Auto: San Andreas®"
[1]=>
["name"]=>
string(31) "Grand Theft Auto V"
我想在$ .each name
中显示JSON中的field
值。我怎样才能做到这一点?
答案 0 :(得分:0)
您必须始终指明要返回的元素的索引。尝试调试索引以查看数组的正确顺序
function suggestit() {
var value = $input.val();
$.getJSON( "ajax.php?search=" + value + "?suggested_size=5&mode=game", function( data ) {
$.each(result, function(i, field){
/** for example */
$("#results").append("<p>" + field.included[i].name + "</p>");
});
});
}
答案 1 :(得分:0)
游戏数组位于included
属性中,但您并未循环使用该属性。游戏名称位于name
属性中。
$.each(result.included, function(i, el) {
$("#results").append("<p>" + el.name + "</p>");
}