使用多个控件过滤JSON数据数组

时间:2014-11-04 17:43:29

标签: javascript jquery ajax json twitter-bootstrap

我已经使用bootstrap和jquery创建了一个漂亮的小型移动应用程序,它从URL中提取一组对象并创建它们的表。现在我有大约5个控件(按钮组和下拉列表),我想用它来过滤JSON数据。我的问题是我应该使用ajax吗?我希望在更改任何控件时,在没有页面刷新的情况下进行过滤。自从我使用ajax(当我在.NET中开发时)已经很多年了,但我知道它已经内置到jquery中。这是构建我的对象表的jquery函数:

$(document).ready(function () {

    var url = "http://json.url/";
    $.getJSON(url, 
        function ( json ) { 
            var tr;
            for (var i = 0; i < json.length; i++) {

                //Create each table row
                tr = $('<tr data-id="' + json[i].id + '" class="tap">');
                tr.append("<td>" + "<span>" + json[i].part_number + "</span>" + "<br>" + 
                                    json[i].diameter + '\"  &raquo; ' + json[i].phases + ' &raquo; ' + 
                                    json[i].voltage + ' &raquo; ' + json[i].rpm);
                tr.append("</td></tr>");
                $('table').append(tr);
             }
    });
});

保留原始阵列并存储它会更好吗?或者每次点击其中一个过滤器时都可以调用它?我有4个引导按钮组和3个选择输入,我想用它们来更改它们中的任何一个或全部(最好没有提交按钮)。我现在正在阅读jquery.ajax,但想在那里得到一个问题,因为我确信我需要一些帮助。

1 个答案:

答案 0 :(得分:0)

AJAX如何帮助您? JSON网址是否允许您提供参数并且它会为您过滤数据?

如果您提出getJSON请求的网址没有为您过滤数据,我认为您必须将数据存储在javascript中的数组中,并根据数据的值对该数组执行过滤器您提供的选项