【发布时间】:2015-03-13 14:04:41
【问题描述】:
当我尝试使用基于组合框使用 codeigniter 创建具有动态值的自动完成时遇到问题, 我尝试过使用ajax,但没有成功。
这是我在分类中调用项目的 ajax 代码
<script type="text/javascript">
$(document).ready(function() {
$("#jenis").change(function(){
$.ajax({
type : "POST",
url: "<?php echo base_url(); ?>whz/admin/get_item",
dataType: "html",
data : "item=" + $("#jenis").val(),
success: function(data)
{
$("#showitem").text(data);
}
});
});
});
</script>
这是我的自动完成 jquery 代码
<div id="showitem">
<script>
$(function() {
var availableTags = [
<?php foreach ($item as $row){
echo '"'.$row->item_name.'",';}?>
];
$( "#autotags" ).autocomplete({
source: availableTags
});
});
</script>
</div>
这是我的控制器
public function get_item()
{
$this->load->model('whz_model');
$category = $this->input->post('item');
$item=$this->whz_model->get_item_by_cat($category);
$script = '
$(function() {
var availableTags = [';
foreach ($item as $row)
{
$script .= '"'.$row->item_name.'",';
}
$script .= '];
$( "#autotags" ).autocomplete({
source: availableTags
});
});';
echo $script;
}
我正在考虑使用 json 作为另一种选择,但我仍然没有足够的使用经验。
抱歉英语不好, 感谢您的帮助
【问题讨论】:
-
你得到什么错误?
-
你的意思是当你输入一些值时,它没有得到任何ajax响应?
-
@reza 我没有收到任何错误,我发送到视图的代码不起作用它只是显示代码,我尝试使用
$("#showitem").html(data);但没有任何反应。 -
@RJAnoop 是的,它根本没有得到任何响应
-
@PrimaWinangun 我希望它也不会进入
$("#jenis").change(function(){函数。 change 事件将在焦点离开该字段时起作用。您应该使用 keyup 事件而不是 change。只需检查您是否正确调用了该 ajax 调用
标签: php jquery ajax codeigniter autocomplete