2015-09-08 2 views
1

Я работаю с проектом codeigniter, и у меня есть проблема. Я пробовал несколько раз, но до сих пор не имею решения.codeigniter drop down value отправить представление контроллеру и показать результаты

My view имеет выпадающий список. Он заполняется данными. Мне нужно отправить выбранное раскрывающееся значение контроллеру, а затем моделировать. без освежающего вида

мой вид. : <?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); 
} 

Я не могу доступ выбранного значения в контроллере, пожалуйста, совет. спасибо

+1

Я думаю, что все, что вам нужно сделать, - [прочитать руководство по переменным POST] (https://ellislab.com/codeigniter/user-guide/libraries/input.html) и [Session variables] (https://ellislab.com/codeigniter/user-guide/libraries/sessions.html) В частности, относящийся к '$ this-> input-> post()' и 'set_userdata()', тогда задействуйте мозг перед кодированием – RiggsFolly

+0

удалите это onchange = "select_design() « –

+0

@RiggsFolly извините, отредактируйте сейчас – Dushani

ответ

0

Думаю, вам просто нужно сменить сценарий 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 
}); 
0

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 conatin admin/order/new_order
так measn order Контроллер илит находится внутри admin папки

и должны быть регулятора,