繁体   English   中英

选择项目上的jQuery自动完成提交表单,单击按钮和/或输入?

[英]jQuery Autocomplete submit form on select item, button click and/or enter?

我正在尝试使用jQuery Autocomplete将用户重定向到基于输入选择的URL。 我看到了其他一些问题可以解决部分问题,但是我很难将所有这些问题放在一起以提供以下功能:

在选择项目以及按Enter键和/或单击按钮时触发重定向。

Jsfiddle演示-> http://jsfiddle.net/wfaxvm43/5/

资料来源:
http://jsfiddle.net/DLLVw/
选择jQuery自动完成触发按钮
jQuery自动完成:选择时提交表单吗?

$(function () {

    var stateList = [{
        "value": "Tennessee",
            "url": "http://www.tennessee.gov"
    }, {
        "value": "Texas",
            "url": "http://www.texas.gov"
    }, {
        "value": "Colorado",
            "url": "http://www.colorado.gov"
    }, {
        "value": "Connecticut",
            "url": "http://www.ct.gov"
    }];

    $("#states").autocomplete({
        source: stateList,
        select: function (event, ui) {
            go(ui.item.url);

            // On enter key
            // if (event.keyCode == 13) {}

            // On button click
            //$(#'zip-form').submit()
        },
        response: function (event, ui) {
            if (!ui.content.length) {
                $("#no-result").show();
            } else {
                $("#no-result").hide();
            }
        }
    });
});

function go(url) {
    window.open(url);
}

添加了autoFocus:true; 专注于结果中的第一项。 然后必须从重点项目中获取网址。

focus: function (event, ui) {
        currentUrl = ui.item.url; 
}


function btnGoClick() {
if (currentUrl !== "") go(currentUrl);
}

在输入字段上添加了映射到13(输入键)的.keypress,用于输入键重定向。

$("#states").keypress(function (event) {
if (event.which == 13) {
    event.preventDefault();
    btnGoClick();
}
});

如果找不到匹配项,还设置一个指定的URL。

http://jsfiddle.net/wfaxvm43/8/

暂无
暂无

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

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