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
<?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()
<?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
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 measnorder
contoller is insideadmin
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);
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.