【问题标题】:Jquery UI, autocomplete, trying to submit selected answer in formJquery UI,自动完成,尝试以表单提交选定的答案
【发布时间】:2014-08-04 07:40:24
【问题描述】:

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

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

【问题讨论】:

    标签: javascript jquery html forms autocomplete


    【解决方案1】:

    我建议使用 $.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() 请求,您可以完全控制当用户单击自动完成的选择选项时发布的数据。希望这会有所帮助。

    【讨论】:

      【解决方案2】:

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

      在你的 select 函数中,你需要这样的东西:

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

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

      【讨论】:

        猜你喜欢
        • 2011-01-13
        • 1970-01-01
        • 2012-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-29
        • 2016-10-07
        相关资源
        最近更新 更多