所以我有一个html数据列表,它包含了几乎6000个选项,类似下面的示例。
问题是它在你的浏览器上打开了很多选项,我一次只需要10个就可以看到,而且它需要是一个在你开始打字时自动完成的字段
有没有办法只显示列表中返回的前10个选项?
for (i = 0; i < 6000; i++) {
$('#myList').append("<option value=Example'"+i+"'></option>");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input list="myList">
<datalist id="myList">
</datalist>
我发现这篇文章从3年前,但它是太慢,我的选择量使用。希望有人找到更好(更快)的解决方案,或者至少是另一种解决方案。
我设法用所选的插件找到了解决办法。非常有效,可在bower和npm上轻松访问。
我发现堆栈溢出的另一个问题,可以通过将控件的类型从输入更改为选择来帮助您:
您可以在其中一个答案中找到解决方案的原始答案:使用滚动条创建下拉列表
for (i = 0; i < 6000; i++) {
$('#sel').append("<option value=Example'"+i+"'>Example'"+i+"'</option>");
}
document.getElementById('sel').addEventListener('click', onClickHandler);
document.getElementById('sel').addEventListener('mousedown', onMouseDownHandler);
function onMouseDownHandler(e){
var el = e.currentTarget;
if(el.hasAttribute('size') && el.getAttribute('size') == '1'){
e.preventDefault();
}
}
function onClickHandler(e) {
var el = e.currentTarget;
if (el.getAttribute('size') == '1') {
el.className += " selectOpen";
el.setAttribute('size', '6');
}
else {
el.className = '';
el.setAttribute('size', '1');
}
}
select {
position: absolute;
z-index: 0;
width: 200px;
}
.selectOpen {
z-index:9;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="sel" size = "1">
</select>
当数据列表中有一组很长的元素时,它们都会显示,旁边有一个滚动条。有没有一种简单的方法可以只显示前5名,而不显示其他的? 例如:http://jsfiddle.net/yxafa/
1)如何使用chart.js在折线图的X轴上只显示第一个、中间和最后一个或者只显示第一个和最后一个标签(日期)? 2) 此外,如果可能,我只想显示特定数量的垂直网格线。 代码: 折线图图像
我正在使用引导datetimepicker库使用日历选择日期。现在,由于需求变化,我还需要选择时间和日期。 在新变化之前,我使用下面的代码在文本字段上显示日历: 通过上面的代码,日历显示正常,一切正常。 为了显示时间选项,我刚刚更改了如下格式: 但使用这种方式,只显示时间选项,不显示日历。请看我附带的屏幕截图: 单击此处查看问题屏幕截图 我正在使用以下库来使用日历: https://cdnjs.c
我正在创建实时搜索功能。如果用户输入文本,搜索功能启动,发出请求并获得结果。每个结果都是datalist中的一个单独选项,该选项是动态添加的。每个结果都包含一个我想要显示的字段“display_name”。不幸的是,“display_name”并不总是包含用户输入的确切文本。数据集筛选结果,并不显示所有结果。我的想法是在value字段中输入与用户输入相同的值--这样所有的结果都将显示出来。不幸的是
注意:即使某些“区域”没有值,也应该显示标签0、0.1、0.2、0.3、0.4和0.5。我尝试了我的不同选项,我发现的“最佳”是控制要显示的标签数量,但它不是我想要的: