0

我有一个工作代码,它搜索 json 记录并一一显示所有记录。我想根据搜索词显示记录,

工作代码如下:

    <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery PHP Json Response</title>
<style type="text/css">
div
{
text-align:center;
padding:10px;
}

#msg {
width: 500px;
margin: 0px auto;
}
.members {
width: 500px ;
background-color: beige;
}
</style>
</head>
<body>

<input type="text" id="search-json-input" />
<input type="button" id="search-json-submit" value="search" />
<br/>
<br/>

<input type="button" name="next" id="next" value="NEXT" />
<br/>
<input type="button" name="previous" id="previous" value="PREV" />
<br/>
<div id="msg">
    <table id="userdata" border="1">
        <thead>
            <th>Email</th>
            <th>Sex</th>
            <th>Location</th>
            <th>Picture</th>
            <th>audio</th>
            <th>video</th>
        </thead>
        <tbody></tbody>
    </table>
</div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script type="text/javascript">

var users = [];
var idx = 0;
var renderRow = function (idx) {
    if (idx < 0) idx = 0;
    if (idx > (users.length - 1)) idx = (users.length - 1);
    var user = users[idx];
    var tblRow = "<tr>" + "<td>" + user.email + "</td>" + "<td>" + user.sex + "</td>" + "<td>" + user.location + "</td>" + "<td>" + "<img src=" + user.image + ">" + "</td>" + "<td>" + "<audio src=" + user.video + " controls>" + "</td>" + "<td>" + "<video src=" + user.video + " controls>" + "</td>" + "</tr>";
    $('#userdata tbody').html(tblRow);
};
var url = "json.php";
$.getJSON(url, function (data) {
    users = data.members;
    renderRow(idx);
    $('#next').click(function() {
        idx++;
        renderRow(idx);
    });
    $('#previous').click(function() {
        idx--;
        renderRow(idx);
    });
});

</script>
</body>
</html>

json.php 的结果可以在这里看到:http ://sco7.com/components/phonegap/json.php

4

1 回答 1

0
  • 将 JSON 响应作为变量附加到某个东西上,以便以后可以引用它。
    • 警告如果您有超过 1000 个项目,这种方法效果不佳,因为它太慢而无法返回更大的数据集。
  • 创建一个当前索引变量(一个 int)。
  • 删除响应处理程序中的循环(即对 each() 的调用)
  • 更新您的文档以具有“左键”、“右键”和第 0 项
    • 按钮不得向服务器提交任何内容。
    • 附加的项目可能与您目前的格式相同
  • 创建的按钮有一个 onclick 处理程序,它:

    • 重复直到有效的更改索引

      • 对于left,如果减少,则确认索引是否有效,然后减少它。
      • 右,如果增加,则确认索引是否有效,然后增加它。
      • 您的数据验证(正则表达式)是否为最新。
      • 如果不正确的数据再次更改索引。
    • 删除当前显示的项目文本,并将项目附加到更新的索引处。

于 2013-08-03T11:16:59.110 回答