2017-08-01 46 views
1

我试图给select-box值传递给controller但价值不及格 这是我的代码笨选择框值未通过使用Ajax控制器

<select class="form-control" name="product_id" onchange="getProduct(this.value)"> 
    <option>--Select Payment--</option> 
    <option value="<?php echo $product['sno']; ?>"><?php echo $product['product_name']; ?></option> 
</select> 
<script type="text/javascript"> 
function getProduct(product_id) { 

    $.ajax({ 
     url: "<?php echo base_url(); ?>customer_order/getproduct", 
     type: "POST", 
     data: { 
      id: product_id, 
     } 
    }).done(function(data) { 
     $('product_id').val(data); 
     alert(product_id); 
    }); 
} 

    </script> 

控制器:

class Customer_order extends CI_Controller { 
    function getproduct(){ 
    $data = $this->input->post('id'); 
    echo '<script type="text/javascript">alert("'.$data.'");</script>'; 
    $this->load->view('create_customer_order',$data); 
    } 
} 

哪有我使用ajax将值传递给控制器​​?

回答

1

PLS做使我们的代码一些变化如下

<select class="form-control" name="product_id" id="product_id"> 
    <option>--Select Payment--</option> 
<?php foreach($product as $prod){ ?> 

    <option value="<?php echo $prod['sno']; ?>"><?php echo $prod['product_name']; ?></option> 

<?php } ?> 

</select> 





<script> 
$('#product_id').on('change', function(){ 
    var proId = $('#product_id option:selected').val(); 
if(proId != null){ 

    var url = "<?php echo base_url(); ?>customer_order/getproduct"; 
      var proResult = $.ajax({ 
              url: url, 
              data: {'id': proId }, 
              type: 'post', 
              dataType: 'json' 
             }); 
       proResult.done(function(data){ 
//     console.log('data', data); 
//     alert(data); 
//     Here..Do something as you wish 

       }); 
} 
}); 

</script> 

我认为这仅仅是用于获取有关如何将数据传递给控制器​​,并将结果返回到使用视图页面的ajax的想法的参考代码和JSON

在控制器应该有功能

<?php 

if (!defined('BASEPATH')) 
    exit('No direct script access allowed'); 

class Customer_order extends CI_Controller { 

    function __construct() { 
     parent::__construct(); 


    } 

    function getproduct() { 
    $data = $this->input->post('id', true); 
    header('Content-Type: application/x-json; charset=utf-8'); 
    echo(json_encode($data)); 

    } 
} ?> 

我但愿这可以帮助你。谢谢!

+0

感谢您的回答阿卜杜勒萨拉姆 –

+0

您的欢迎Ramesh ...如果这有帮助请打勾作为正确的答案..thnks –

+0

当然兄弟我会检查并告诉你。而且,只是点击投票到您的答案 –