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

使用HTML数据列表按内部文本搜索

燕鸿文
2023-03-14

我正在使用一个简单的HTML5数据列表,它在Chrome浏览器上充当一个自动完成的下拉列表。我使用的数据列表如下所示:

<datalist id="mylist">
    <option value="123">Oranges</option>
     <option value="2312">Apples</option>
     <option value="33232">Bananas</option>
</datalist>

下面是一个JSFIDLE:

问题是,当我开始键入一个值时,搜索是在值上完成的,而不是在文本上。还向用户显示该值。

基本上,我想做的是:

1) 按内部文本搜索

2) 当用户查看dropdownlist的选项时,仅显示内部文本。

我做了一些谷歌搜索,但找不到这个非常简单的任务的答案...

共有3个答案

司徒鸿文
2023-03-14

1) 请这样定义您的选项:

<option value="123" label="Oranges"/>

2) 取决于浏览器:Firefox不显示值,而Chrome将其显示为附加信息。

梁浩涆
2023-03-14

你为什么不直接用你的内在文本来代替价值呢?类似的东西:

<input type="text" list="mylist">
<datalist id="mylist">
    <option value="Oranges" value2="123"></option>
     <option value="Apples" value2="2312"></option>
     <option value="Bananas" value2="33232"></option>
</datalist>
盖嘉庆
2023-03-14

我建议查看typeahead.js。你可以在这里读到它。这是一个非常有用的图书馆。

查看该网站,您只需执行以下操作:

var options = ["Oranges", "Apples", "Bananas"];

$('#yourDropDownElement .typeahead').typeahead({
    hint: true,
    highlight: true,
    minLength: 1
},
{
    name: 'fruit',
    displayKey: 'value',
    source: substringMatcher(options)
});

但是,这确实需要jQuery。

 类似资料:
  • 我正在为一个网格窗格分配几个按钮。每个按钮都有一个数字作为其文本。我创建了一个arrayList numbers并向其添加数字。我使用集合来洗牌数字(我希望每次运行程序时在每个按钮中都有一个随机数)。然后我使用这个ArrayList向每个按钮文本添加一个数字。 我希望每个按钮都有不同的编号。但是,现在1列中的每个按钮都有相同的编号。 任何关于如何修复此问题的建议都将非常感谢(按钮的文本随机分配)。

  • 在Twitter的Bootstrap框架中是否有一组对齐文本的类? 例如,我有一些带有合计的表,我希望它们向右对齐... 而且

  • 我开始在我的项目中使用primefaces,我马上就遇到了问题。我有一个列表,其中包含一些我用实体管理器从数据库中获取的东西,我在primefaces数据表的视图中显示了它。在我的后台bean中,我有:List getList(),在这里我使用实体管理器从数据库中检索记录,并立即返回。。 和myService: 我的豆子: 视图: 这种方式primefaces排序不起作用,我在堆栈上的某个地方读到

  • 我正在尝试使用Jasper iReport Designer 5.6.0生成报告,其中有一个带有表格和一些文本字段的列表。生成的报告应该如下所示: 为此,我使用以下XML文件作为数据源: 和jrxml模板: 这就是我得到的结果报告(灰线是分页符): 这是报表检查器在iReport Designer中的外观 所以我只在这个子报表中使用细节栏。 编辑:列表是必需的,因为数据来自多个国家,而此jrxml

  • 最近,搜索列表api(事件类型:live)没有返回任何内容 例子:https://www.googleapis.com/youtube/v3/search?part=id一小条 返回 有人也有这个问题吗? 这个api曾经可以获得直播频道,但是现在它什么也没有返回

  • 这只适用于第一个字母“j”,只要我加上“ja”(例如,我仍然显示所有的“jonathan”)