我想向CodeIgniter发送多个文本框值..我不知道为什么这段代码不起作用..
这是我的观点
<th>Items:</th>
<th>Price:</th>
<th>quantity:</th>
<th>total:</th>
</tr>
<?php for ($i = 0; $i < 5; $i++) {?>
<tr>
<td><?php echo form_dropdown('cat_id[]', $records2, '#',
"id='category_".$i."' onchange='getItems(this.value,".$i.")' ");?>
</td>
<!-- Items -->
<td> <?php echo form_dropdown('item_id[]', $records3, '#', "id='items_".$i."'"); ?>
</td>
项目下拉选项是针对类别的..意味着如果我从类别中选择一些东西,那么项目将显示在该类别
<td><input type="text" name =<?php echo $price;?> id = "price_"<?php echo $i ?>>
</td>
<td><input type="text" name =<?php echo quantity;?> id = "price_"<?php echo $i ?>
我已将价格和数量的字段名称设置为“价格”和“数量”
这是我的控制器..
$data3 = array(
'item_id' => $this->input->post('item_id'),
'price' => $this->input->post('price'),
'quantity' => $this->input->post('quantity'),
);
$data4 = array();
for($i = 0; $i < 5; $i++)
{
$data4 = array (
'item_id' => $data3['item_id'][$i],
'price' => $data3['price'][$i],
'quantity' => $data3['quantity'][$i],
);
}
$this->load->model('salesModel');
$this->salesModel->addSoldItemtoDB($data4);
问题是价格值“null”进入数据库并且数量相同,就item_id而言,无论我在项目中选择什么,它都在数据库中保存id'1'。
我的java脚本,用于上面两个下拉框的功能。类别和项目
<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>
答案 0 :(得分:0)
您正在创建具有相同名称的文本框
<input type="text" name =<?php echo $price;?> id = "price_<?php echo $i ?>" >
<input type="text" name =<?php echo quantity;?> id = "price_<?php echo $i ?>" >
这意味着它只会占用最后一行的文本框值。应该是这样的
<input type="text" name="prince_<?php echo $i;?>" id="price_<?php echo $i ?>" >
<input type="text" name="quantity_<?php echo $i;?>" id="quantity_<?php echo$i?>">
另一种方法是在文本框中创建数组
<input type="text" name="price[]" id = "price_<?php echo $i ?>" >
<input type="text" name="quantity[]" id = "quantity_<?php echo $i ?>" >
当你想获得这些数组的值时。
$prices = $this->input->post('price');
$quantity= $this->input->post('quantity');
价格和数量是数组