2014-11-04 76 views
0

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

$(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,但想知道一个问题,因为我确信我需要一些帮助。

回答

0

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

如果你所做的getJSON请求不会为你过滤数据,我认为你将不得不把数据存储在JavaScript数组中,并根据你提供的选项的值在数组上执行过滤器

+0

我从来没有想过在json url级别过滤数据。我想AJAX会阻止页面刷新(这将主要在移动设备上)。 – drpcken 2014-11-04 17:58:23

+0

我会过滤每次调用json url返回的json数据或数据库吗? – drpcken 2014-11-04 18:18:33