datalist速度慢问题,select option 搜索数据,

select 框自定义输入,搜索提示(H5方式):

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>list属性示例</title>
</head>
<body>
text: <input type="text" name="greeting" list="greetings">
<!-- 使用style="display:none;"将datalist元素设定为不显示 -->
<datalist id="greetings" style="display:none;">
    <option value="Good Morning">Good Morning</option>
    <option value="Hello">Hello</option>
    <option value="Good Afternoon">Good Afternoon</option>
</datalist>
</body>

假如datalist数据太多,datalist是很慢的,要是几百条数据可以直接用这种方式。

可以用select2来解决datalist慢的问题,下面展示个例子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>option搜索</title>
</head>
<body>
text: <input type="text" name="greeting" list="greetings">
<!-- 使用style="display:none;"将datalist元素设定为不显示 -->
<datalist id="greetings" style="display:none;">
    <option value="Good Morning">Good Morning</option>
    <option value="Hello">Hello</option>
    <option value="Good Afternoon">Good Afternoon</option>
</datalist>
<hr>


<script type="text/javascript" src="https://cdn.bootcss.com/jquery/2.1.4/jquery.min.js" ></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.12/css/select2.min.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.12/js/select2.min.js" ></script>
<div>
	<select class="singleSelect" style="width: 350px;">
		<option value="">--(带搜索的option)请选择--</option>
		<option value="">广东</option>
		<option value="">广州</option>
		<option value="">佛山</option>
		<option value="">深圳</option>
		<option value="">北京</option>
		<option value="">上海</option>
	</select>
</div><br>
<script type="text/javascript">
  $(document).ready(function(){
	  $('.singleSelect').select2();//单选初始化
	  $('.multiSelect').select2();//多选初始化
  });
</script>


<select class="ajaxGetData" style="width:350px;">
<option>Ajax异步获取数据...</option>
</select>

<br><br><!--下拉多选框-->
<select class="multiSelect" multiple="multiple" style="width:350px;">
		<option value="">广东</option>
		<option value="">广州</option>
		<option value="">佛山</option>
		<option value="">深圳</option>
		<option value="">北京</option>
		<option value="">上海</option>
</select>
	

<script type="text/javascript">
$(function(){
  //页面加载完成自动执行
  $.ajax({
    url: 'http://api.buruyouni.com/fund/api?limit=100',
	type: 'GET',
	data: {},
    dataType: 'json',
	beforeSend:function(){
       console.log("ajax get data before send");
    },
	success:function(res){
		console.log("ajax get data success.");
		$('.ajaxGetData').select2({
			placeholder:"请选择!!!",
			allowClear:true,
			data:res.data
			
		});
    },
	error:function(){
		console.log("error");
	}
  })
});

</script>

</html>
</body>

目前测试用select2来做option搜索速度还是可以的,8000条数据2秒就渲染完成了,10000多条数据也还能接受的范围内。再说,都选择框能有上万中选择需求是不是有点问题呢?

更多select搜索的例子可以到select2的官网查看哦。例如:select也可以做多选的。上图就有例子

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值