【问题标题】:pass multiple textbox box values to controller in CodeIgniter将多个文本框值传递给 CodeIgniter 中的控制器
【发布时间】:2013-01-19 18:39:47
【问题描述】:

我想向 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 而言,无论我在 item 中选择什么,它都会在数据库中保存 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>

【问题讨论】:

  • 第一个下拉菜单中的循环有什么用?这是问题的原因
  • @raheel shan..因为我正在创建与此类似的五行

标签: php javascript jquery ajax codeigniter


【解决方案1】:

您正在创建具有相同名称的文本框

<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');    

其中价格和数量是数组

【讨论】:

  • 同样认为 ..didnt 工作.. 数据库中的价格为 0 而商品的 id 为 1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多