我正在使用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);
}
我无法在控制器中访问所选值,请咨询。谢谢
答案 0 :(得分: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
});
答案 1 :(得分: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>
你的网址conatin
内admin/order/new_order
因此,measnorder
控制器位于admin
文件夹
并且在控制器中应该是
public function new_order()
{
$select_design=$this->input->post('product_code'); // not id
$data['product'] = $this->order_model->get_all_product_info($select_design);
}