Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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 从jquery的自动完成发布表单_Javascript_Jquery - Fatal编程技术网

Javascript 从jquery的自动完成发布表单

Javascript 从jquery的自动完成发布表单,javascript,jquery,Javascript,Jquery,嘿,伙计们,当点击其中一个选项时,我的下拉列表会失去焦点。我想在点击下拉列表时提交表格;这是我的密码: $(function() { var availableTags = [ "Thing", "Thing2", "Thing3"]; $( "#searchbox" ).autocomplete({ sour

嘿,伙计们,当点击其中一个选项时,我的下拉列表会失去焦点。我想在点击下拉列表时提交表格;这是我的密码:

    $(function() {

            var availableTags = [
                "Thing",
                "Thing2",
                "Thing3"];

            $( "#searchbox" ).autocomplete({
                source: availableTags
            });

    });
我想做的是在从“自动完成”中选择一个下拉列表时提交我的表单

编辑:

忘记我的HTML:

<form action="" method="POST" id="search" accept-charset="UTF-8">
        <input id='searchbox' class='ui-widget' type='text' name="search" size="30" />
        <button type="submit"/>Search</button>

      </form>
编辑3: 谢谢Ehsan,我的结果是: $function{

            var availableTags = [
                "my php for tags"];

                    $( "#searchbox" ).autocomplete({
            source: availableTags,
            select: function(event, ui) 
            {
            $("#search").submit();
            }
        });

    });
编辑4:
啊,问题是它发布表单,但只发布键入的查询,而不是自动完成:/。即,我键入T并单击T100,它只发布T

编辑5: 感谢AndrewPolland为我的最新问题提供了解决方案:

$( "#searchbox" ).autocomplete({
    source: availableTags,
    select: function (event, ui) {
        $("#searchbox").val(ui.item.value);
        $("#search").submit();
    }
});
您必须使用autocomplete的select属性,当用户从autocomplete中选择一个选项时,将触发其函数:

$( "#searchbox" ).autocomplete({
                source: availableTags,
                select: function(event, ui) 
                {
                $("form").submit();
                }
            });
更新: 在表单中创建隐藏字段:

<form action="" method="POST" id="search" accept-charset="UTF-8">
        <input type="hidden" id="selectedValue"/>
        <input id='searchbox' class='ui-widget' type='text' name="search" size="30" />
        <button type="submit"/>Search</button>

      </form>

目前使用非常类似的方法。您可以在自动完成设置中使用select,然后使用submit提交表单

例如

查看问题的更新。您还可以将ajax提交代码移动到单独的函数中,并在选择选项时调用它。不过,上面可能是最好的选项

例如

正如我所说的,第一种选择可能是最好的。只是把它包括在内,以防它更适合你的情况

要解决Edit4问题,请尝试以下操作:

$( "#searchbox" ).autocomplete({
    source: availableTags,
    select: function (event, ui) {
        $("#searchbox").val(ui.item.value);
        $("#search").submit();
    }
});

啊,问题是它发布表单,但只发布键入的查询,而不是自动完成:/。即,我键入T,然后单击T100,它只发布T。谢谢,伙计,你和安德鲁帮了很多忙=欢迎并很高兴它帮了忙。很高兴我能帮上忙:
$( "#searchbox" ).autocomplete({
                    source: availableTags,
                    select: function(event, ui) 
                    {
                    $('#selectedValue').val(ui.item.value);
                    $("form").submit();
                    }
                });
$( "#searchbox" ).autocomplete({
    source: availableTags,
    select: function (event, ui) {
        $("#search").submit();
    }
});
function formSubmit(){
    /* Clear result div*/
    $("#result").html('');
    /* Get some values from elements on the page: */
    var values = $(this).serialize();
    /* Send the data using post and put the results in a div */
    $.ajax({
        url: "ajax/search.inc.php",
        type: "post",
        data: values,
        dataType: "text",
        success: function(data) {
            $("#result").html(data);
        }
    });
}

$( "#searchbox" ).autocomplete({
    source: availableTags,
    select: function (event, ui) {
        formSubmit();
    }
});

$("#search").submit(function(event) {
    /* Stop form from submitting normally */
    event.preventDefault();
    formSubmit();
});
$( "#searchbox" ).autocomplete({
    source: availableTags,
    select: function (event, ui) {
        $("#searchbox").val(ui.item.value);
        $("#search").submit();
    }
});