我有一个包含 3 个字段的表单,每个字段我都想使用 jquery 自动完成功能为我自动完成所有这些字段。所以我写了这段代码
html
<input type='text' class='completeme' name='name'/>
<input type='text' class='completeme' name='job'/>
<input type='text' class='completeme' name='lasname'/>
js
$('input.completeme').each(function() {
$(this).autocomplete({
source: function(request, response) {
$.ajax({ url: '<?=base_url()?>patients/autocomplete',
data: { 'term': this.value},
dataType: "json",
type: "POST",
success: function(data){
response(data);
}
});
},
minLength: 2
});
});
并将两者都添加到视图中,并创建了一个名为 patients.php 的控制器,控制器自动完成
代码
function Autocomplete(){
$this->load->model('Autocomplete');
$term=$this->input->post('term');
if(sizeof($term) > 2){
$options=array('table'=>'patients','field'=>'patient_name','term'=>$term);
$q=$this->Autocomplete->GetAutocomplete($options);
foreach($q as $q)$json[]=$q->patient_name;
echo json_encode($json);
}
现在我的问题是
- 它不起作用:D ..当我检查萤火虫发布请求时,它没有发布任何值。
- 我如何在自动完成请求中传递字段名称以及其搜索的术语?
- 是否有任何已经存在的 codeigniter 助手/自定义库可以以更清洁的方式做到这一点?
多谢