Codeigniter下拉值发送视图到控制器并显示结果


codeigniter drop down value send view to controller and display results

我正在与codeigniter项目合作,我有一个问题。我试了好几次,但仍然没有解决办法。

我的视图有下拉框。它用数据填充。我需要发送选定的下拉值到控制器然后到模型。不刷新视图

我的看法。: <?php echo base_url(); ?>admin/order/new_order

<form method="post" id="sform" action="">
    <select class="form-control pull-right" name="select_design" style="width: 150px;" required id="select_design" onchange="select_design()">
        <option value="">Select Design..</option>  <?php  foreach ($product2 as $v_product) : ?>
        <option value="<?php echo $v_product->product_code ?>"><?php echo $v_product->product_code ?></option> 
<?php
    endforeach;
?> 
        </select>
    </form>

和我已经尝试使用ajax发送选定的值。

<script>
 $("#select_design").change(function() {
     $.ajax({
            url : "<?php echo base_url(); ?>admin/order/new_order", // my controller :<?php echo base_url(); ?>admin/order/new_order
            method: "POST",
            data: "id=" + $(this).val(),
            success: function(response) {
                // handle
            }
      })  
});
</script>

和我试图访问POST值在控制器

控制器:<?php echo base_url(); ?>admin/order/new_order()

public function new_order()
{
    $select_design=$this->input->post('id'); //
    // and send it to model
    $data['product'] = $this->order_model->get_all_product_info($select_design);
 }

我无法访问控制器中选定的值,请建议。谢谢你

我认为你只需要改变你的Ajax脚本像下面的代码。

  $("#select_design").change(function() {
  var product_code = $("#select_design").val();
  $.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>" + "admin/order/neworder",
        dataType:'text',
        data:{product_code:product_code},
        success: function() {
        //handle
        }
      });//ajax
 });

AJAX应该

<script>
    $(function(){
        $("#select_design").change(function()
        {
            var product_code = $("#select_design").val();
            $.ajax(
                {
                    type:"post",
                    url: "<?php echo base_url(); ?>admin/order/new_order",
                    data:{ product_code:product_code},
                    success:function(data)
                    {
                    }
                });
        });
    });
</script>

你的url包含admin/order/new_order
也就是说order控制器在admin文件夹

和in控制器应该是

public function new_order()
{
    $select_design=$this->input->post('product_code'); // not id
    $data['product'] = $this->order_model->get_all_product_info($select_design);
 }