我试图根据用户输入的变量firstname
将数组输出到表中。如果两个数组具有相同的值,则该表应显示两个数组。目前,表中只显示第一个数组。我已经包含下面我当前的代码:
$(document).ready(function() {
var url = "data.php";
$('#getJSON').click(function(event) {
event.preventDefault();
var firstname = $('#firstname').val();
url = url + "?firstname=" + firstname;
$.getJSON(url, function(json) {
var tr;
for (var i = 0; i < json.data.length; i++) {
tr = $("<tr/>");
tr.append("<td>" + json.data[0].id + "</td>");
tr.append("<td>" + json.data[0].title + "</td>");
tr.append("<td>" + json.data[0].firstname + "</td>");
$('table').append(tr);
}
});
});
});
PHP脚本:
if ($firstname === "Emma")
$arr[] = array('id'=> "1", 'title'=> "Miss", 'firstname'=> "Emma", 'surname'=>"Brown");
else if ($firstname === "Emma")
$arr[] = array('id'=> "2", 'title'=> "Mrs", 'firstname'=> "Emma", 'surname'=>"Green");
else
$arr[] = array('id'=> "Unknown", 'title'=> "Unknown", 'firstname'=> "Unknown", 'surname'=> "Unknown");
echo '{"firstname":'.json_encode($arr).'}';
任何帮助,非常感谢!
你每次循环的覆盖''tr' TR = $( “
@atoms多数民众赞成罚款您正在检索的JSON以及您期望的输出的示例。我不明白'如果名字匹配它应该显示两个数组',你的意思是什么。您也可能想将'[0]'更改为'[i]' –
@Emma的末尾追加你可以给我们一个' –