我根据所选下拉列表触发功能时遇到问题
这里的脚本与表格在同一页面上:
var total = $("#total").val();
var b = 1;
while (b <= total) {
$('#opt'+b).change(function() {
var opt = $('#opt'+b).val();
if (opt == "I") {
id = $("#idx"+b).val();
qty = $("#qtx"+b).val();
$.ajax({
url: "<?php echo base_url('item/insert_rent'); ?>",
type: "POST",
data: "id="+id+"&qty="+qty,
cache: false,
success: function(html) {}
})
} else {
//Delete Function
}
}
}
<table>
<thead>
<th><b>ID</b></th>
<th><b>QTY</b></th>
<th><b>Action</b></th>
</thead>
<tbody>
<?php
$x = 1;
foreach ($detail as $d):
?>
<tr>
<td><?php echo $d->id ?></td>
<td><?php echo $d->qty?></td>
<td>
<select name="opt<?php echo $x; ?>" id="opt<?php echo $x; ?>">
<option value="D" selected>Delete</option>
<option value="I">Insert</option>
</select>
<input type="hidden" id="idx<?php echo $x; ?>" name="idx<?php echo $x; ?>" value="<?php echo $d->id; ?>">
<input type="hidden" id="qtyx<?php echo $x; ?>" name="qtyx<?php echo $x; ?>" value="<?php echo $d->qty; ?>">
</td>
</tr>
<?php
$x++;
endforeach;
?>
</tbody>
</table>
<input type="hidden" id="total" name="total" value="<?php echo $x - 1; ?>">
表上的结果是几行,每行包含1个下拉列表 每个下拉列表更改将触发控制器中的功能。
这是我的插入功能:
$id = $this->input->post('id');
$qty = $this->input->post('qt');
$data = [
'id' => $id,
'qty' => $qty
];
$this->my_model->insertData('temporary', $data);
我哪里出错了?还有比这更好的方法吗? (我确定有,我的逻辑搞砸了)