Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery根据订单号将数据附加到html中_Jquery_Html_Html Lists - Fatal编程技术网

jquery根据订单号将数据附加到html中

jquery根据订单号将数据附加到html中,jquery,html,html-lists,Jquery,Html,Html Lists,我需要建立一个包含6个li及其值(空或不空)的列表,然后将其附加到现有li 从sql查询返回以下结果: id_news title category order ------- -------- -------- ----- 3 Alex... 12 1 12415 Obama... 3 3 有了这些数据,我需要建立一个按顺序排列的列表,我的意思是,该列表应该类似于: <ul> <li

我需要建立一个包含6个
li
及其值(空或不空)的列表,然后将其附加到现有
li

从sql查询返回以下结果:

id_news  title      category  order
-------  --------   --------  -----
3        Alex...    12        1
12415    Obama...   3         3
有了这些数据,我需要建立一个按顺序排列的列表,我的意思是,该列表应该类似于:

<ul>
    <li data-order="1"> Alex... </li>
    <li data-order="2"> No featured news here, click to add </li>
    <li data-order="3"> Obama... </li>
    <li data-order="4"> No featured news here, click to add </li>
    <li data-order="5"> No featured news here, click to add </li>
    <li data-order="6"> No featured news here, click to add </li>
</ul>
    亚历克斯
  • 此处无特色新闻,请单击添加
  • 奥巴马
  • 此处无特色新闻,请单击添加
  • 此处无特色新闻,点击添加
  • 此处无特色新闻,请单击添加
因此,我的问题是:

  • 我应该有一个预定义的列表并在那里添加数据吗
  • 或者,我应该在创建列表时这样做吗?如果是,怎么做
我现在拥有的jQuery代码:

var sublist = '<ul id="order_list"> <h3> Order list: </h3>';
$.each(data, function(index, value) {
  sublist += '<li data-target="'+value['id_news']+'">'+value['headline']+'</li>';
});
sublist += '</ul>';
list.append(sublist);
var sublist='
    订单列表:'; $.each(数据、函数(索引、值){ 子列表+='
  • “+value['headline']+'
  • ”; }); 子列表+='
'; 列表。追加(子列表);
重要的是要记住,在插入DOM之前,只需按照您希望的方式获取所有标记字符串文本,这将是99%的优化(并不是说您没有,只是指出这绝对是要保持的重点)

至于实现这一点:使用与创建标记相同的代码,但首先对“数据”数组进行排序。为此,请使用javascript数组。显示它正在发生

var data = [{order:5}, {order:45}, {order:4}, {order:200}];
data.sort(function(a,b){return a.order-b.order;});

$.each(data,function(index, value){
    document.write(value.order+'<br/>');
});

// output shows the array ordered by the val of the objects' order prop
var data=[{order:5},{order:45},{order:4},{order:200}];
sort(函数(a,b){返回a.order-b.order;});
$.each(数据、函数(索引、值){
document.write(value.order+'
'); }); //输出显示按对象的order prop的val排序的数组

我假设您的数据数组包含具有数字order属性的对象。当然,如果属性名为其他名称,则会相应地更改,如果它是字符串而不是数字,则在函数中使用Number(),以便数学运算。

感谢您的努力,但这不是我的问题。您的问题不是关于如何将数据写入按“order”属性排序的列表中吗?您已经有了基于数据列出标记的代码,尽管没有正确排序,我告诉过您如何排序。根据我对这个问题的理解,把这两件事放在一起,这就是你的答案。如果没有,你能更具体一点吗?