繁体   English   中英

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

[英]Jquery UI, autocomplete, trying to submit selected answer in form

当用户从输入元素中选择自动完成项时,我似乎无法获得表单来提交所选值。 而是提交部分键入的文本。 我使用自动完成功能的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(){$("a_comp").submit();}而是这样写: select: function() { $.post("urlToPostDataTo"), {dataID1: $("#dataID1"), dataID2: $("#dataID2")}, function(data, callback){ //do stuff with the output of the page}}我相信当您提交表单时,表单很可能仅使用输入文本字段,而不是自动完成建议。 通过使用$ .post()请求,您可以完全控制当用户单击自动完成的选择选项时要发布的数据。 希望这可以帮助。

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

在select函数内部,您将需要以下内容:

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

表单不知道您所选择的内容,而是从输入框中选择值,而该值永远不会通过AJAX调用进行更新。 因为它只知道您在框中键入的内容,所以该值随表单一起提交。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM