0

JS

$('input.completeme').each(function() {
    $(this).autocomplete({
            source: function(request, response) {
                $.ajax({ url: '<?=base_url()?>patients/autocomplete',
                data: { 'term': this.term},
                extraParams: { format: this.element.attr('name') },
                dataType: "json",
                type: "POST",
                success: function(data){
                    response(data);
                }
            });
        },
        minLength: 2
});
});

HTML

<input type="text" name="patient_name" value="Patient name" class=completeme />
<input type="text" name="patient_id" value="ID" class=completeme />

不管我多么努力,它仍然只发送“term” var 到发布页面,并且它不发送 extaparameter(我想将输入名称也发送到 php)


我想要的是

自动完成将 2 个变量发送到我的 php 文件 $term='自动完成搜索' 和 $name="输入名称,以便我的 php 可以知道它完成的确切字段"

怎么了

页面运行正常的萤火虫显示没有错误但是当我检查 POST 标头时它只发送 Term var

有什么帮助吗?

4

2 回答 2

0

extraParams 是 jQuery 自动完成的选项,但您将此选项传递给另一个函数 — jQuery.ajax()。

于 2012-12-07T13:01:02.103 回答
0
$('input.completeme').each(function() {
    $(this).autocomplete({
            source: function(request, response) {
                $.ajax({ url: '<?=base_url()?>patients/autocomplete',
                data: { 'term': this.term,'name': this.element.attr('name') },
                dataType: "json",
                type: "POST",
                success: function(data){
                    response(data);
                }
            });
        },
        minLength: 2
});
});

终于工作了:D谢谢大家

于 2012-12-07T13:03:35.307 回答