【发布时间】:2017-06-23 06:33:49
【问题描述】:
从一个选项中选择选项后,我从查询中获得价值 表,它填充来自 ajax 的数据并返回一个 JSON 数据。问题是我正在动态接收 JSON 中的值,但我是 只传递第一个值所以..我怎样才能让这个动态成为我的 结果是要赋予价值的东西以及使其充满活力的关键。
<script type="text/javascript">
$(document).ready(function(){
$('#cate').change(function(e){
e.preventDefault();
var cate=$( "#cate option:selected").val();
var url="<?php echo base_url();?>cat_cntrl/subcatselect";
$.ajax({
type:'post',
url:url,
data:{cate :cate},
dataType:"JSON",
success:function(response){
console.log(response);
if (response.result ) {
$(response.result).each(function(k, v){
$('#myselect').append($('<option>', {
value: v['Mobile'],
text: v['Mobile']
}));
})
}
}
})
})
})
</script>
这里是我的控制器代码:
<?php
class Cat_cntrl extends CI_controller{
public function __construct(){
parent::__construct();
$this->load->model('cat_model');
$this->load->helper('form','url');
}
public function index(){
$get=$this->cat_model->fetchcatdata();
$data['result']=$get;
$this->load->view('cat_view',$data);
}
public function subcatselect(){
$cate=$this->input->post('cate');
$get=$this->cat_model->getsubo($cate);
$data['result']=$get;
echo json_encode(array('result'=>$data['result']));
}
}
?>
【问题讨论】:
-
你能把控制器功能的代码放上去吗?以便我们可以看到您返回到 ajax 调用的内容?
-
这里不用
preventDefault(),用var cate=this.value;代替var cate=$( "#cate option:selected").val();。我想,你的问题对 SO 用户来说不太清楚,你能详细解释一下吗? -
是否,
$('#myselect')不会在更改下拉列表时填充#cate? -
我已经替换了这个但是它不起作用..
-
解释一下。真的很难理解。你要说什么
标签: jquery json ajax codeigniter