【问题标题】:Looping through List elements in order to build an array to pass out in AJAX request循环遍历 List 元素以构建数组以在 AJAX 请求中传递
【发布时间】:2010-12-06 17:38:55
【问题描述】:

我想将一堆数据传递到我的服务器。

所以我有一堆这样的列表:

<ul id="myList">
<li><span class="firstData">10</span><span id="secondData">banana</span></li>
<li><span class="firstData">20</span><span id="secondData">grapefruit</span></li>
<li><span class="firstData">30</span><span id="secondData">apple</span></li>
<li><span class="firstData">40</span><span id="secondData">pear</span></li>
<ul>

我想遍历列表并以“firstDataValue_secondDataValue”的形式创建数据,这样我就可以构建一个字符串以在我的 POST ajax 请求中传递出去。

value=10_banana&amp;amp;value=20_grapefruit&amp;amp 之类的东西。

我怎样才能最好地遍历元素以创建我正在寻找的数据字符串。

提前致谢。

【问题讨论】:

  • 你知道重复的 id 是无效的,对吧?请改用class。 =)
  • ID 应该是唯一的,如果您需要重复的标识符,请改用class :)

标签: javascript jquery ajax post httpwebrequest


【解决方案1】:
$('ul#myList li').each(function(){
//do what you want here
   var number = $(this).find('span:first-child').text();
   var fruit = $(this).find('span:first-last').text();
//now you have both values do whatever you want with it
});

将为每个 li 元素循环

【讨论】:

    【解决方案2】:

    这应该根据您提供的 HTML 以您请求的方式构建字符串,但按照 cmets 对问题的建议将 id 更改为 classWorking example

    var str = '';
    $('ul#myList li').each(function(){
        var spans = $(this).find('span');
        str += 'value='+spans[0].innerHTML+'_'+spans[1].innerHTML+'&amp;';
    });
    

    【讨论】:

      猜你喜欢
      • 2015-08-14
      • 2018-09-09
      • 1970-01-01
      • 2013-11-25
      • 2018-07-14
      • 1970-01-01
      • 2011-01-29
      • 2021-06-08
      • 1970-01-01
      相关资源
      最近更新 更多