当前位置: 首页 > 知识库问答 >
问题:

jqueryUI autocomplete和datalist在一起

晋奕
2023-03-14

我有一个带有单个输入的html搜索表单。在输入字段中,用户可以写三个不同的东西:区域名称,旅行名称,其他关键字。

    null
<form action="" method="get">
   <input class="auto" name="desc" list="areas" />
   <button type="submit">seatch</button>
   <datalist id="areas">
       <option id="area1" value="area1" >1</option>
       <option id="area2" value="area2" >2</option>
       <option id="area2" value="area2" >2</option>
   </datalist>
</form>

剧本:

 $('.auto').autocomplete({
    source:"php/autocomplete.php",
    minLength:1,
    select: function(event,ui){
        changePage('content/trek.php', {
            Trek_Id:ui.item.Trek_Id
        });
    }
});

提前感谢Chaim

共有1个答案

潘鸿文
2023-03-14

不幸的是,对DataList的支持充其量仍然很平庸,而且没有专门针对该元素的事件。最好的选择是将它绑定到的输入值与DataList中的可用选项进行比较。如果找到匹配项,您可以使用该信息转到区域url,而不是提交表单。

您已经使用了jQuery,所以我编写了一个快速解决方案:

$('form').submit(function(e) {
   var $input = $(this).find('input.auto');
       val = $input.val();
       list = $input.attr('list'),
       match = $('#'+list + ' option').filter(function() {
           return ($(this).val() === val);
       });
    
    if(match.length > 0) {
        e.preventDefault();

        var area = match.val();       
        alert('Navigate to ' + area);
        
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="" method="get">
   <input class="auto" name="desc" list="areas" />
   <button type="submit">seatch</button>
   <datalist id="areas">
       <option id="area1" value="area1" >1</option>
       <option id="area2" value="area3" >3</option>
       <option id="area2" value="area2" >2</option>
   </datalist>
 </form>
 类似资料:
  • 在我的.html中,我有一个指定一些值和一个带有2个选项的数据列表: 第一个:获取输入的值 第二个:其中I*ng表示值列表。 在Firefox和Chrome中我的列表正常显示,但在Edge/IE11中只显示一个元素。所有数据都已加载,但我需要在选项中导航以显示它们。最后,当我拥有所有元素(在导航之后)时,如果我搜索一个更具体的元素,就会显示一个灰色块。我该怎么解决这个?

  • 我的代码有一个问题,在我的html中有一个带有两个选项的数据列表,当“Azienda”选项被选中时,我想显示名为“Aziende”的div,但当我选择“Privato”时,我不想显示该div,但问题是当我选择“Privato”时,它也显示给我div。有人能帮我吗?

  • 描述 (Description) HTML 标记指定《input》元素的选项集。 例子 (Example) <!DOCTYPE html> <html> <head> <title>HTML Datalist Tag</title> </head> <body> <input list = "tutorials" /> <datalist id

  • 本文向大家介绍C#实现DataList里面嵌套DataList的折叠菜单,包括了C#实现DataList里面嵌套DataList的折叠菜单的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现DataList里面嵌套DataList的折叠菜单。分享给大家供大家参考,具体如下: 点击前效果图如下: 点击后效果图如下: 具体实现代码如下: Javascript脚本 HTML代码如下: 上面的

  • 我正在创建实时搜索功能。如果用户输入文本,搜索功能启动,发出请求并获得结果。每个结果都是datalist中的一个单独选项,该选项是动态添加的。每个结果都包含一个我想要显示的字段“display_name”。不幸的是,“display_name”并不总是包含用户输入的确切文本。数据集筛选结果,并不显示所有结果。我的想法是在value字段中输入与用户输入相同的值--这样所有的结果都将显示出来。不幸的是

  • 本文向大家介绍Html5中datalist是什么相关面试题,主要包含被问及Html5中datalist是什么时的应答技巧和注意事项,需要的朋友参考一下 标签定义选项列表,与 input 元素配合使用该元素,来定义 input 可能的值。 datalist 及其选项不会被显示出来,它仅仅是合法的输入值列表。