如何通过AJAX提交多个值/数组?

时间:2019-05-24 05:51:36

标签: php jquery

我有一个 HTML 表,该表是可编辑/动态的。请参见下表:

<table>
  <tr>
    <td><input id="txt_row_{{ $records[$i]["row_id"] }}" type="hidden" value="{{$records[$i]["row_id"]}}" /></td>
    <td><input type="checkbox" id="is_workingday_row_{{ $records[$i]["row_id"] }}" checked /></td>
  </tr>
  <tr>
   <td><input id="txt_row_{{ $records[$i]["row_id"] }}" type="hidden" value="{{$records[$i]["row_id"]}}" /></td>
    <td><input type="checkbox" id="is_workingday_row_{{ $records[$i]["row_id"] }}" checked /></td>
  </tr>
</table>

现在,我该如何遍历整个表以通过jQuery获取值/更改,并通过 AJAX 将其提交给 PHP 脚本?您至少可以指出我正确的方向吗?谢谢。

1 个答案:

答案 0 :(得分:0)

@Ronald,您好,您可以使用表格而不是表格,但是如果您使用表格,则必须使用jquery每个函数来获取所有输入值并创建这些值的对象,然后您可以通过ajax发送该值

$(document).ready(function(){
    var allInputs = $('table').find('input');
    var obj = {};
    $(allInputs).each(function(){
        var key = $(this).attr('name');
        var value = $(this).val();
        obj[key] = value
    });
    console.log(obj);

    });

$(document).ready(function(){
	var allInputs = $('table').find('input');
	var obj = {};
	$(allInputs).each(function(){
		var key = $(this).attr('name');
		var value = $(this).val();
		obj[key] = value
	});
	console.log(obj);
	
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <td><input id="txt_row_1" type="hidden" name="txt_row_1" value="record1" /></td>
    <td><input type="checkbox" name="is_workingday_row_1" id="is_workingday_row_1" checked /></td>
  </tr>
  <tr>
   <td><input id="txt_row_2" name="txt_row_2" type="hidden" value="record2" /></td>
    <td><input type="checkbox" name="is_workingday_row_2" id="is_workingday_row_2" checked /></td>
  </tr>
</table>