Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将其他表单元素传递给ajax建议框脚本_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 将其他表单元素传递给ajax建议框脚本

Javascript 将其他表单元素传递给ajax建议框脚本,javascript,jquery,ajax,Javascript,Jquery,Ajax,**搬到这里: 不久前,我花钱请人为我构建了一个jQueryAjax建议框脚本。它工作得很好。现在,我正试图了解它足够的修改它做一些不同的事情 现在,生成建议的脚本只接受查询文本,并且每次都执行相同的检查。现在,我希望能够传递额外的信息,以便在搜索框的每个实例中查找不同的内容 HTML。。。简单,显而易见 <input class="suggest" name="q" type="text" autocomplete="off" /> 而不是: source:'output.p

**搬到这里:


不久前,我花钱请人为我构建了一个jQueryAjax建议框脚本。它工作得很好。现在,我正试图了解它足够的修改它做一些不同的事情

现在,生成建议的脚本只接受查询文本,并且每次都执行相同的检查。现在,我希望能够传递额外的信息,以便在搜索框的每个实例中查找不同的内容

HTML。。。简单,显而易见

<input class="suggest" name="q" type="text" autocomplete="off" />
而不是:

source:'output.php', minLength:3,
我想:

source:'output.php?arg1=blah1&arg2=blah2', minLength:3,
其中arg1和arg2以以下形式传递

<input class="suggest" name="q" type="text" autocomplete="off" />

<input type="hidden" name="arg1" value="blah1" />

<input type="hidden" name="arg2" value="blah2" />

有什么想法吗?

我想这就是你想要的:

$('.suggest').autocomplete({
    source:'output.php?arg1='+$('input[name=arg1]').val()+'&arg2='+$('input[name=arg2]').val(), minLength:3,
});

您也许可以使用jQuery的方法。文件规定,它将:

将一组表单元素编码为字符串以供提交

这听起来像是你想要做的。您可以尝试以下方法:

jQuery(document).ready(function()
{

    $('.suggest').autocomplete(
    {

        source:'output.php', minLength:3,

        focus: function (event, ui) 
        {
          $(event.target).val(ui.item.label);
          return false;
        }

    }
    );


[snip]

}
$('.suggest').autocomplete({
    source:'output.php?' + $("#MY_FORM_ID").serialize(), minLength:3,
    focus: function (event, ui) {
      $(event.target).val(ui.item.label);
      return false;
    }
});
编辑:请注意,使用字符串作为
不会导致URL随输入值动态更改。要做到这一点,您需要使用一个回调函数,并自己简化请求/响应。我上面显示的代码将在自动完成小部件实例化时使用
MY\u FORM\u ID
的值。

我尝试了这个。。。(见编辑到原始帖子)我一定是漏掉了什么。。。
$('.suggest').autocomplete({
    source:'output.php?' + $("#MY_FORM_ID").serialize(), minLength:3,
    focus: function (event, ui) {
      $(event.target).val(ui.item.label);
      return false;
    }
});