如何使用jquery在列表视图中显示多个列表项中的数据


How to display the data in multiple list items in listview using jquery

我正在使用php文件获取数据库数据。当我使用 jquery 加载该 php 文件时,该数据将显示在列表视图中的同一列表项中。我有多个标题,但它显示在单个列表项中。当我使用$.each时,它在我做错jquery-1.9.1.min.js文件中显示错误。错误为 : 类型错误:无效的"in"操作数 e 。

JS代码:

$.ajax({
    type: "GET",
    url: "index.php",
    datatype: "jsonp",
    success: function(json) {
        $.each(json, function(i, data) {
    $("#section_list").append('<li><a href="#" id="'+ i +'"><h2>' + data.Subject + ' </h2></a></li>');
        });
    $("#section_list").listview('refresh');
}
});

PHP代码 :

<?php
    class db extends SQLite3
    {
        function __construct() {
            $this -> open('database.db');
        }
    }
    $db = new db();
    if (!$db) {
        echo $db-> lastErrorMsg();
    }
    else
    {
    }
    $sql =<<<EOF
      SELECT distinct(Subject,Category) from Data;
EOF;
$ret = $db->query($sql);
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
      echo $row['Subject'] ."<br />";
   }
  $db->close();
?>

提前谢谢。

我想每个都不适用于 JSON 对象......试试这个:

$.each($.parseJSON(json), function(i, data) {
    //your code here
}

。强硬我不认为你的 PHP 正在分发 JSON...如果只是一个字符串尝试

var split = json.split("<br />");
$.each(split, function(i, data) {
    //your code here
}

。如果您不确定,请console.log(json)