将多个文本框值传递给控制器​​代码点火器

我是Codeigniter的新手,所以我不知道该怎么做。
实际上我的视图页面有五行,我通过for循环生成,其中每行包含两个选择框和两个输入框。 我不知道如何在jQuery中首先获取这些值,然后传递给控制器​​。 实际上我知道如何从一个简单的文本框中获取值,但因为我在循环中生成它们并给它们一个单独的id,所以我不知道如何在jQuery中获取值然后传递给控制器​​。

这是我的观点

 Category: Items: Selling Price: quantity:  <?php for ($i = 0; $i   //Categories    form_dropdown('item_id', $records3, '#', "id='items_".$i."'"); ?>      

项目选项基于类别选择,意味着如果我从类别中选择一些选项,则根据类别显示的项目将显示在第二个选择框中。

这是我的Javascript,用于前两个选择框的function

   function getItems(category_id,index) { $("#items_" + index + " > option").remove(); $.ajax({ type: "POST", url: "stockInController/get_Items/"+category_id, success: function(items) { $.each(items,function(item_id,item_name) { var opt = $(''); opt.val(item_id); opt.text(item_name); $('#items_'+ index).append(opt); }); } }); }  

现在问题出在这里; 我想从所有行中获取值,然后传递给控制器​​。
这是用于捕获然后将值发送到控制器的javascript

   $('#btns').click(function() { // $("#form").serialize() 

在这里,我做得不对,首先我不知道如何获取项目和类别的值,然后另一件事是如何能够获得多个文本框值,因为有五行,而textvalues中的值填写完毕

 var item_id = $('#items').val(); var item_id = $('#items').val(); var price = $('#price').val(); var quantity = $('#quantity').val(); var form_data = { cat_id: $('#cat_id').val(), quantity: $('#quantity').val(), item_id: $('#items').val(), }; $.ajax({ url: "", type: 'POST', data: form_data, dataType: 'json', success: function(msg) { if(msg.res == 1) { alert("true"); } else{ alert("false"); } } }); return false; });  

这是我的控制器,我不知道在这里也得到多个值。
这是我正在做的代码,我知道我错了,但我不知道如何做对

  $data = array( 'cat_id' => $this->input->post('cat_id'), 'item_id' => $this->input->post('item_id'), 'price' => $this->input->post('sales_date'), 'quantity' => $this->input->post('sales_bill_no'), ); 

在您的情况下,设置inputnameselectcat_ids[]item_ids[]prices[]item_ids[]这样的元素。 注意这些名称末尾的[] (我已将名称更改为复数forms,这只是一个名称约定:))。

在控制器$this->input->post('cat_ids')将返回一个名为cat_id数组并包含所有id,这对于$this->input->post('item_ids')$this->input->post('prices') ,…您可以使用这样的for循环遍历所有发布的值:

 for($i = 0; $i < count($data['cat_id']); $i++) { $yourItem = array ( 'cat_id' => $data['cat_id'][$i], 'item_id' => $data['item_id'][$i], 'price' => $data['price'][$i], 'quantity' => $data['quantity'][$i], ); } 

要在Ajax中使用jQuery发送表单数据,您可以设置form_data=$('your-form-id').serialize(); 而不是用手建立自己的价值:)

不知道关于PHP但也许你可以在请求中发送多个参数,如:

  var cat_id = $('#cat_id').val(); var quantity = $('#quantity').val(); var item_id = $('#items').val(); $.ajax({ url: "", type: 'POST', data: 'cat_id='+cat_id+'&quantity='+quantity+'&item_id='+item_id, success: function() { } 

});

在groovy我会像他们一样解析他们

 params.cat_id params.item_id etc... 

也许这可以帮助你或某人帮助你