Я новичок в Codeigniter, поэтому я не знаю, как это сделать.
На самом деле моя страница просмотра имеет пять строк, которые я сгенерировал для цикла, в котором каждая строка содержит два блока выбора и два поля ввода. Я не знаю, как получить эти значения сначала в jQuery, а затем перейти в контроллер. На самом деле я знаю, как захватывать значения из простых текстовых полей, но поскольку я генерирую их в цикле и предоставляю им отдельный идентификатор, поэтому я не знаю, как получить значения в jQuery, а затем перейти к контроллеру.
Это мое мнение
<tr> <th>Category:</th> <th>Items:</th> <th>Selling Price:</th> <th>quantity:</th> </tr> <?php for ($i = 0; $i < 5; $i++) { ?> <tr> //Categories <td><?php echo form_dropdown('cat_id', $records2, '#', "id='category_".$i."' onchange='getItems(this.value,".$i.")' ");?> </td> <!-- Items --> <td>form_dropdown('item_id', $records3, '#', "id='items_".$i."'"); ?> </td> <!-- end of Items --> <td> <?php echo form_input($price); ?></td> <td><?php echo form_input($quantity); }?></td>
Параметры элемента основаны на выборе категорий, означает, что если я выберу какую-либо опцию из категорий, то элементы в категориях отображаются во втором поле выбора.
Вот мой Javascript для функциональности двух верхних блоков выбора
<script type="text/javascript"> 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 = $('<option />'); opt.val(item_id); opt.text(item_name); $('#items_'+ index).append(opt); }); } }); } </script>
Теперь проблема здесь; Я хочу получить значения из всех строк, а затем перейти в контроллер.
Это javascript для ловли, а затем отправка значений в контроллер
<script type="text/javascript"> $('#btns').click(function() { // $("#form").serialize()
Здесь я не прав, сначала я не знаю, как получить значения элементов и категорий здесь, а затем другая вещь – как получить несколько значений текстового поля, потому что есть пять строк, а текстовые значения, в которых значения заполняются, должны быть отправлены
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: "<?php echo site_url('salesController/addSales'); ?>", type: 'POST', data: form_data, dataType: 'json', success: function(msg) { if(msg.res == 1) { alert("true"); } else{ alert("false"); } } }); return false; }); </script>
Вот мой контроллер, и я не знаю, чтобы получить здесь несколько значений.
Вот код того, что я делаю, я знаю, что я ошибаюсь, но я не знаю, как это сделать правильно
$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'), );