Jquery UI,自动完成,尝试以表单形式提交所选答案

Jquery UI, autocomplete, trying to submit selected answer in form

本文关键字:提交 表单 答案 UI Jquery      更新时间:2023-09-26

当用户从输入元素中选择自动完成项时,我似乎无法获得提交所选值的表单。相反,它提交部分键入的文本。我正在使用自动完成的select:功能,但没有用#scustnm是我的输入元素,#a_comp是围绕它的形式。谢谢!

    if(vsvcus != "")
    {
       $( "#scustnm" ).autocomplete(
        {
        source: "S205ai.pgm?task=autoacustfil&WCODE=" + vscmpy + "&vcustnm=" + vsvcus,
        minLength: 1,
        select: function() {$("#a_comp").submit();}
        });
    }

我建议使用$.post((请求,而不是表单提交。因此,与其拥有:select: function(){$("a_comp").submit();}你会写这样的东西:select: function() { $.post("urlToPostDataTo"), {dataID1: $("#dataID1"), dataID2: $("#dataID2")}, function(data, callback){ //do stuff with the output of the page}}我相信当您提交表单时,表单很可能只使用输入文本字段,而不是自动完成建议。通过使用$.post((请求,当用户单击自动完成的选择选项时,您可以完全控制发布的数据。希望这能有所帮助。

您需要将值分配回具有自动完成功能的输入,以便表单读取它。

在你的选择功能内部,你需要这样的东西:

$( "#scustnm" ).val( /*Return Value Here*/ );

表单不知道您选择了什么,而是从输入框中选择值,而AJAX调用永远不会更新该值。因为它只知道你在框中键入了什么,这就是与表单一起提交的值。