Javascript 循环遍历列表元素,以便构建一个数组以在AJAX请求中传递

Javascript 循环遍历列表元素,以便构建一个数组以在AJAX请求中传递,javascript,jquery,ajax,post,httpwebrequest,Javascript,Jquery,Ajax,Post,Httpwebrequest,我想把一堆数据传给我的服务器 所以我有一大堆这样的清单: <ul id="myList"> <li><span class="firstData">10</span><span id="secondData">banana</span></li> <li><span class="firstData">20</span><span id="secondData">g

我想把一堆数据传给我的服务器

所以我有一大堆这样的清单:

<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>
  • 10香蕉
  • 20葡萄柚
  • 30苹果
  • 40梨
我想在列表中循环并以“
firstDataValue\u secondDataValue
”的形式创建数据,这样我就可以建立一个字符串,在我的POST ajax请求中传递出去

类似于
value=10_香蕉&;值=20_葡萄柚和amp
等等

如何最好地循环元素以创建我要查找的数据字符串

提前谢谢

$('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元素循环

这将根据您提供的HTML按您要求的方式建立字符串格式,但将
id
更改为
class
,如问题注释中所建议:


您知道重复的
id
s无效,对吗?改用
。=)ID应该是唯一的,如果需要重复的标识符,请使用
:)
var str = '';
$('ul#myList li').each(function(){
    var spans = $(this).find('span');
    str += 'value='+spans[0].innerHTML+'_'+spans[1].innerHTML+'&amp;';
});