我可以'想象一下如何做到这一点。
我有几个隐藏的字段
<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_2" name="order_2" value="2">
<input type="hidden" id="order_3" name="order_3" value="3">
<input type="hidden" name="ids[]" value="1">
<input type="hidden" name="ids[]" value="2">
<input type="hidden" name="ids[]" value="3">
等。 我的想法是通过像这样的ajax传递数据。
var id = $('input').attr('name')
$.post('http://foobar.com/ajax.php', {ids : ids, order: order}, function(data){
});
我无法弄清楚如何收集数据。
在ajax.php的另一边,我不想得到像这样的值
echo $_POST['order_1'];
echo $_POST['order_2'];
......
etc
答案 0 :(得分:0)
错误#1
<input type="hidden" id="order_1" name="order_1 value="1">
<input type="hidden" id="order_1" name="order_1 value="1">
<input type="hidden" id="order_1" name="order_1 value="1">
应该是
<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_1" name="order_1" value="1">
错误#2
永远不会永远使用相同的ID。使用不同的!也适用于名称属性
错误#3
你传递
$.post('http://foobar.com/ajax.php', {ids : ids
而不是
$.post('http://foobar.com/ajax.php', {ids : id
<强>更新强>
假设
<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_2" name="order_2" value="2">
<input type="hidden" id="order_3" name="order_3" value="3">
和js: var yourArray = [];
$.each($("input[type='hidden']"), function(key, value){
yourArray.push($(this).attr("name"));
});
将其传递给ajax
$.post('http://foobar.com/ajax.php', {ids : yourArray ...
答案 1 :(得分:0)
我认为您正在寻找.serialize
。请参阅api。
尝试这样的事情:
var postData = $('input:hidden').serialize();
$.post('http://foobar.com/ajax.php', postData, function(data){
});
请记住,我用于隐藏输入的选择器可以由您更改为更具体,可能使用表单ID。
答案 2 :(得分:0)
这会将您的所有表单数据发布到ajax.php。您必须为<form>
标记指定一个ID(在这种情况下,其id ='formId')
$.post('http://foobar.com/ajax.php', $('#formId').serializeArray());
您可以通过以下方式申请ID:
$ids = $_POST['ids'];
答案 3 :(得分:0)
传递值
<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_2" name="order_2" value="2">
<input type="hidden" id="order_3" name="order_3" value="3">
<input type="hidden" name="ids[]" value="1">
<input type="hidden" name="ids[]" value="2">
<input type="hidden" name="ids[]" value="3">
var ids_arr = new Array();
$("input[name='ids[]']").each(function() {
ids_arr.push( $(this).val() );
});
$.post('http://foobar.com/ajax.php', {"ids" :ids_arr , "order_1": $('#order_1').val(),"order_2":$('#order_2').val(),"order_3":$('#order_3').val()}, function(data){
});
获取php端的值
echo $_POST['order_1'];
echo $_POST['order_2'];
echo $_POST['order_3'];
var_dump($_POST['ids']);