区块链技术博客
www.b2bchain.cn

如何根据jQuery中单击的选项对JSON对象进行排序? – javascript程序员分享

本文介绍了如何根据jQuery中单击的选项对JSON对象进行排序? – javascript程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

下面是我的ajax:,它将显示来自PHP页面的查询结果,该查询由用户键入的categorypostcoderate过滤。

$("form").on("submit", function () {     var data = {         "action": "test"     };      data = $(this).serialize() + "&" + $.param(data);     $.ajax({         type: "POST",         dataType: "json",         url: "ajax2.php",         data: data,         success: function (data) {          $("#main_content").slideUp("normal",function(){          for (i = 0; i < data.length; i++) {  $(".the-return").append("<div class='inside_return'>Name:" + data[i].name + "<br/>Id:" + data[i].id + "<br/>Pricing:" + data[i].rate + "<br/>Postcode:" + data[i].postcode+ "<br/>Reputation:" + data[i].reputation+"<br/>Review Plus:" + data[i].plus+"<br/>Review Negative:" + data[i].neg+"<br/><h1>Availability</h1>Week Morning:" + data[i].weekM+"<br/>Week Afternoon:" + data[i].weekA+"<br/>Week Evening:" + data[i].weekE+"<br/>Weekend Morning:" + data[i].endM+"<br/>Weekend Afternoon:" + data[i].endA+"<br/>Week Evening:" + data[i].endE+"</div>");               //alert(data[i].name)          }              });         }       });     return false;   }); 

我想知道如何控制这部分,我的意思是如何控制成功后要采取的行动:

默认情况下,它可以显示如下:但是,单击“按比率排序”时,应按比率排序并显示在.the-return内。当单击“按等级排序”时,应按等级排序并显示。如何在此处找到switch语句并相应显示?我已经筋疲力尽了,无法寻求答案,我们将不胜感激!提前致谢!!!!

success: function (data) {              $("#main_content").slideUp("normal",function(){              for (i = 0; i < data.length; i++) {      $(".the-return").append("<div class='inside_return'>Name:" + data[i].name + "<br/>Id:" + data[i].id + "<br/>Pricing:" + data[i].rate + "<br/>Postcode:" + data[i].postcode+ "<br/>Reputation:" + data[i].reputation+"<br/>Review Plus:" + data[i].plus+"<br/>Review Negative:" + data[i].neg+"<br/><h1>Availability</h1>Week Morning:" + data[i].weekM+"<br/>Week Afternoon:" + data[i].weekA+"<br/>Week Evening:" + data[i].weekE+"<br/>Weekend Morning:" + data[i].endM+"<br/>Weekend Afternoon:" + data[i].endA+"<br/>Week Evening:" + data[i].endE+"</div>");              }          });        }                });    return false;    }); 

参考方案

可以通过以下方式对Json对象进行排序:

data.sort(function (a, b) {     var retVal = 0;     switch (sortOption) {         case 1:             retVal = a.property > b.property ? 1 : (a.property < b.property ? -1 : 0);             break;         ....     }     return retVal; }); 

说明:这里的data是一个json对象。 sort()是javascript函数。对于json数组中的每对json对象,都会调用此函数。 js使用返回的值(此处为retVal)来确定json元素a是否在json元素b之前。如果retVal的值为1,则ba之前,反之则为-1,并且不确定(为0)。sortOption满足您的要求。您可以使用它来决定要比较哪些元素,具体取决于用户选择的Sort by值。
您可以将此代码放在要对json数组进行排序的位置。

代码为您:

success: function (data) {     data.sort(function (a, b) {         var retVal = 0;         switch (sortOption) {             case 1:                 retVal = a.property > b.property ? 1 : (a.property < b.property ? -1 : 0);                 break;                 // .... many cases here         }         return retVal;     });     $("#main_content").slideUp("normal", function () {         for (i = 0; i < data.length; i++) {              $(".the-return").append("<div class='inside_return'>Name:" + data[i].name + "<br/>Id:" + data[i].id + "<br/>Pricing:" + data[i].rate + "<br/>Postcode:" + data[i].postcode + "<br/>Reputation:" + data[i].reputation + "<br/>Review Plus:" + data[i].plus + "<br/>Review Negative:" + data[i].neg + "<br/><h1>Availability</h1>Week Morning:" + data[i].weekM + "<br/>Week Afternoon:" + data[i].weekA + "<br/>Week Evening:" + data[i].weekE + "<br/>Weekend Morning:" + data[i].endM + "<br/>Weekend Afternoon:" + data[i].endA + "<br/>Week Evening:" + data[i].endE + "</div>");          }      }); } 

我正在使用使用Visual Studio模板创建的Web表单应用程序。模板具有一个内容占位符,该占位符被访问的任何页面的内容替换。有问题的页面有几个服务器控件,例如文本框,标签和按钮。当我单击我的更新按钮时,它可以正常工作,这些值会回传并更新数据库。我想在所有子页面上创建通用的登录提示。我的导航栏(位于我的母版页中)具有引导程序设置。我在导航栏中添加了一个下…

如何设置Telerik单选按钮所需的字段验证器?我想在按钮单击“ BtnSave”上设置必填字段验证器吗?请帮忙!<telerik:RadButton ID="radio_male" runat="server" ToggleType="Radio" AutoPostBack="fa…

据我所知,此代码必须有效,但是我编码时却无效问题在于该表单未提交。我该如何解决?选中时,我什至没有得到复选框的值。<table id="example" class="display" cellspacing="0" width="100%"> <thead&g…

我需要在我的php中调用js函数,但无法正常工作。有人可以告诉我我在做什么错吗?我该如何轻松地做到这一点?谢谢!我有三个文件:  mail.php负责发送$ _POST的内容(工作正常)。我调用我的javascript函数来切换模式,具体取决于邮件是否已发送。 <? … $response = $sendgrid->send($email);…

我正在编写一个在线时间跟踪网页,允许用户将学习时间输入该系统。用户将首先输入名称,然后根据日期输入学习时间。一天中可能会有多个学习时间。以下是我第一页的编码,<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&#034…

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 如何根据jQuery中单击的选项对JSON对象进行排序? – javascript程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们