I am working with codeigniter project and I have a problem. I have tried several times but still not have a solution.
My view has dropdown box. It populate with data. I need to send selected drop-down value to controller then to model. without refreshing view
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>
and i have tried to send selected value using 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>
and i tried to access POST value in controller
controller :
<?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);
}
I cant access selected value in controller, please advice. thank you
Answer:
I think You just need to change your Ajax script to something like below code.
$("#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 Should be
<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>
your url conatin admin/order/new_order
so it measn order
contoller is inside admin
folder
and in contoller should be
public function new_order()
{
$select_design=$this->input->post('product_code'); // not id
$data['product'] = $this->order_model->get_all_product_info($select_design);
}
0 nhận xét:
Đăng nhận xét