【问题标题】:Auto select the top autocomplete result into hidden input自动选择顶部自动完成结果到隐藏输入
【发布时间】:2013-11-17 15:12:33
【问题描述】:

我正在尝试按 id 进行搜索,但按名称自动完成。
所以我放了一个隐藏的输入,它在选择时更新。
问题是,如果用户按下Esc 或其他方式启动搜索而不选择,搜索将失败(不返回所需的值),因为隐藏的值没有更新。只要没有选择其他结果,我就试图强制自动完成选择最上面的结果。

我的代码是:

$('#search_box').focus(function () {
            $(hidden).val("");
        });
$('#search_box').autocomplete({
            source: "autocomplete_empl.asp",
            minLength: 2,
            autoFocus: true,
            select: function (event, ui) {
                $('#hidden').val((ui.item ? ui.item.id : 0));
            }
        });

谢谢!

附言

返回的列表以 json 形式出现。

【问题讨论】:

    标签: javascript jquery json jquery-ui autocomplete


    【解决方案1】:

    我会检查自动完成 val() 是否为空。 如果它是空的,什么都不做(或者你需要选择第一个值?)

    $('#search_box').focus(function () {
                $(hidden).val("");
            });
    $('#search_box').autocomplete({
                source: "autocomplete_empl.asp",
                minLength: 2,
                autoFocus: true,
                select: function (event, ui) {
                    if($('#search_box').val() !== ""){
                       $('#hidden').val((ui.item ? ui.item.id : 0));
                    }
                }
            });
    

    如果您需要选择第一个选项,只需使用您需要的数据触发搜索事件

    select: function (event, ui) {
                    if($('#search_box').val() !== ""){
                       $('#hidden').val((ui.item ? ui.item.id : 0));
                    }
                    else{
                      $('#search_box').autocomplete('search', 'DataYouNeed');
                    }
                }
    

    这是API页面上的链接,有点解释 http://api.jqueryui.com/autocomplete/#method-search

    【讨论】:

    • 这不好...如果没有选择其他值,我需要选择第一个值...
    猜你喜欢
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 2012-10-07
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 2011-07-31
    相关资源
    最近更新 更多