【问题标题】:Get Only Selected item without Submitting?只获取选定的项目而不提交?
【发布时间】:2017-05-22 15:13:48
【问题描述】:

我正在为我的网站开发简单的搜索,我在网上找到了这个 JQuery UI Autocomplete 示例,现在我需要它在选择时仅获取选定的值,但目前它在选择项目后提交如何修改该 SELECT 函数以仅选择不提交

<script>
$(document).ready(function() {
    var myArr = [];

    $.ajax({
        type: "GET",
        url: "doctors.xml", // XML File location
        dataType: "xml",
        success: parseXml,
        complete: setupAC,
        failure: function(data) {
            alert("XML File could not be found");
            }
    });

    function parseXml(xml)
    {
        //find every query value
        $(xml).find("doctor").each(function()
        {
            myArr.push($(this).attr("label"));
        }); 
    }

    function setupAC() {
     var limit = 10;
        $("input#searchBox").autocomplete({
                source: myArr,
                minLength: 2,
                 select: function(event, ui) {
                    $("input#searchBox").val(ui.item.value);
                    $("#searchForm").submit();
                } 
        });
    }
});
</script>

【问题讨论】:

    标签: javascript jquery jquery-ui autocomplete


    【解决方案1】:

    替换此行

    $("#searchForm").submit();
    

    return false;
    

    如果你用回车键选择,那么你可能需要阻止默认事件

    $("input#searchBox").keydown(function(event){
        if(event.keyCode == 13) {
          if($("input#searchBox").val().length==0) {
              event.preventDefault();
              return false;
          }
        }
     });
    

    【讨论】:

    • 删除该行并输入“return false;”让我知道发生了什么
    • 好吧,我不能准确的解释你,因为我没有看自动完成功能的src代码,但是停止代码传播返回false是很常见的。
    • 你知道限制结果的方法吗?
    • 你可以在这里找到它stackoverflow.com/questions/7617373/…
    • 我建议你使用 jquery select2 或选择,那些是实现了所有这些功能的 jquery 插件。而不是使用 jquery ui 自动完成
    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 2021-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多