私はCodeigniterの初心者なので、これを行う方法がわかりません。
実際、私のビュー ページには 5 つの行があり、各行には 2 つの選択ボックスと 2 つの入力ボックスが含まれる for ループを介して生成されました。これらの値を最初にjQueryで取得してからコントローラーに渡す方法がわかりません。実際、単純なテキストボックスから値を取得する方法は知っていますが、ループで生成して別の ID を与えるため、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>
項目のオプションはカテゴリの選択に基づいています。つまり、カテゴリからオプションを選択すると、カテゴリに対する項目が 2 番目の選択ボックスに表示されます。
これは、上位2つの選択ボックスの機能のための私の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()
ここで、私は正しいことをしていません。まず、ここで項目とカテゴリの値を取得する方法がわかりません。次に、5 つの行があるため、複数のテキスト ボックスの値を取得する方法がわかりません。満たされています 送信されます
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'),
);