我的表单有几个动态添加的<p>
个元素。这就是人们的样子:
<p id="numbox-1" class="numbox">1</p>
我需要设置一个函数,这样当单击一个按钮时,我得到id(id将被标记为numbox-1,numbox-2等),并且所有这些都是p元素的值。页。
我需要将值传递给将处理它们的php脚本,如果我可以将数据作为数组获取,那将是很好的,所以我可以在php中使用for循环。
我一直在使用JSON传递数据,但我不确定这是否是最好的方法,请指教,谢谢 -
答案 0 :(得分:4)
您可以使用.map()
,例如:
var arr = $('.numbox').map(function(){
return { name: this.id, value: this.innerHTML };
});
然后您可以将其作为data
参数传递,例如:
$.post("mypage.php", arr);
这将导致名称/值对的POST,如下所示:
numbox-1=1&numbox-2=XX....
答案 1 :(得分:0)
我不确定“检查”按钮的含义,但也许这会有所帮助。
$(function(){
$("#send-button").click(function(){
var data = [];
$('.numbox').each(function(){
var $this = $(this);
data.push( {
id: $this.attr('id'),
value: $this.html()
} );
});
$.post('myurl.php', { numboxes: data });
});
});
单击#send-button
时,它会创建一个返回数组,其中包含每个numbox id和value的对象。然后它将该数组发布到服务器。
答案 2 :(得分:0)
function getNumbox()
{
var objNumbox = new Array();
$('.numbox').each(function(index){
objNumbox[index] = $(this);
});
return objNumbox;
}
//Test it out
$(document).ready(function(){
var test = getNumbox();
$(test).each(function(index){
alert('ID: ' + $(test[index]).attr('id') + ' Text: ' + $(test[index]).text());
});
});