个性化阅读
专注于IT技术分析

用jQuery实现并排多重选择元素

本文概述

当我说浏览器的默认多选控件不太容易使用时, 我可能正在和很多人聊天。要选择多个元素, 你需要同时按CTRL, 然后从元素中选择所需的元素。由于这个简单的原因, 多重选择并不是用户或Web开发人员的最爱组件。

要解决此用户体验问题, 有很多方法可以代替使用多选, 其中之一就是著名的左右选择, 你可以从左侧简单地选择元素, 然后将其添加在右侧选择。在本文中, 我们想与你分享一个很棒的插件, 它可以轻松为你轻松完成此任务。

1.包含多选

Multiselect是一个很棒的jQuery插件, 可将你的多选转换为具有两个面的面板。用户可以选择一个或多个项目并将其分别发送到另一侧。要在你的Web项目中使用此插件, 你只需要包含脚本的副本, 并使用script标记将其包含在文档中:

<!-- Using a local copy -->
<script src="multiselect.min.js"></script>

<!-- Using a CDN -->
<script src="https://cdn.rawgit.com/crlcu/multiselect/master/dist/js/multiselect.min.js"></script>

有关该库的更多信息, 请访问Github上的官方存储库, 在此处签出演示页面或阅读文档。

2.使用多重选择

现在, 该插件已包含在项目中, 你以后可以使用JavaScript对其进行初始化。首先, 你需要构建标记, 该标记将包含插件正常工作所需的2个选择, 以及将触发默认操作的按钮。这个想法基本上是构建3列, 其中将包含上述项目, 假设你使用的是Bootstrap之类的CSS框架, 则标记应类似于:

<div class="row">
    <!-- Left side select -->
	<div class="col-xs-5 col-md-5 col-sm-5">
		<select name="from[]" id="mySideToSideSelect" class="form-control" size="8" multiple="multiple">
			<option value="1">Item 1</option>
			<option value="3">Item 3</option>
			<option value="2">Item 2</option>
		</select>
	</div>
    
    <!-- Action buttons -->
	<div class="col-xs-2 col-md-2 col-sm-2">
		<button type="button" id="mySideToSideSelect_rightAll" class="btn btn-block"><i class="glyphicon glyphicon-forward"></i></button>
		<button type="button" id="mySideToSideSelect_rightSelected" class="btn btn-block"><i class="glyphicon glyphicon-chevron-right"></i></button>
		<button type="button" id="mySideToSideSelect_leftSelected" class="btn btn-block"><i class="glyphicon glyphicon-chevron-left"></i></button>
		<button type="button" id="mySideToSideSelect_leftAll" class="btn btn-block"><i class="glyphicon glyphicon-backward"></i></button>
	</div>
    
    <!-- Right side select -->
	<div class="col-xs-5 col-md-5 col-sm-5">
		<select name="to[]" id="mySideToSideSelect_to" class="form-control" size="8" multiple="multiple"></select>
	</div>
</div>

现在, 在标记中需要注意多个要点, 以了解插件的工作方式。第一个是你只需要一个ID, 其余的ID也将使用相同的名称, 但带有后缀。例如, 在这种情况下, 我们的左侧元素ID为mySideToSideSelect, 因此操作按钮的ID将以你的元素ID为前缀, 因此在这种情况下, 我们将具有mySideToSideSelect_rightAll等。现在, 右侧的元素ID将具有id初始ID的前缀和后缀_to, 因此正确元素的ID为mySideToSideSelect_to。正确构建标记后, 你只需要使用jQuery初始化多选:

$(document).ready(function() {
	$('#mySideToSideSelect').multiselect();
});

就是这样!值得一提的是, 我们使用了遵循标准架构的非常直接的初始化方法, 但是只要你在multiselect的配置对象中提供所需的元素, 就可以随意更改它们的id, 因此请务必阅读插件文档以获取有关此功能的更多信息。

编码愉快!

赞(0)
未经允许不得转载:srcmini » 用jQuery实现并排多重选择元素

评论 抢沙发

评论前必须登录!