📅  最后修改于: 2023-12-03 15:08:21.587000             🧑  作者: Mango
jQuery UI MultiSelect 小部件是一个用于选择多个选项的小部件,它是基于 jQuery 和 jQuery UI 构建的。
在使用 jQuery UI MultiSelect 小部件前,需要先安装 jQuery 和 jQuery UI。
可以通过以下链接下载并引入它们:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery UI MultiSelect Demo</title>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery.multiselect/2.5.2/jquery.multiselect.min.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.multiselect/2.5.2/jquery.multiselect.min.js"></script>
</head>
<body>
<select id="example-select" multiple="multiple">
<option value="option-1">Option 1</option>
<option value="option-2">Option 2</option>
<option value="option-3">Option 3</option>
</select>
<script>
$(function() {
$('#example-select').multiselect();
});
</script>
</body>
</html>
以上代码包含了必须的样式和脚本文件,以及一个包含多个选项的 select
元素和一个将该元素转换为 MultiSelect 小部件的脚本。
jQuery UI MultiSelect 小部件包含了一些配置选项和方法。
以下是可用的配置选项:
header
: Boolean,是否显示标题区域,默认为 true。height
: Integer,设置 MultiSelect 区域的高度,默认为 auto
。minWidth
: Integer/String,设置最小宽度,默认为 150
。maxWidth
: Integer/String,设置最大宽度,默认为 null
。classes
: Object,设置样式类名,默认为 {}
。noneSelectedText
: String,当没有选中项时显示的文本,默认为 'Select options'
。selectedText
: Function,返回选中项的文本,默认为:function(numChecked, numTotal, checkedItems) {
return numChecked + ' of ' + numTotal + ' checked';
}
position
: Object,设置 MultiSelect 区域的位置,默认为 { my: 'left top', at: 'left bottom', collision: 'none' }
。以下是可用的方法:
refresh
: 刷新 MultiSelect 小部件。widget
: 返回 MultiSelect 小部件的根元素。destroy
: 销毁 MultiSelect 小部件,恢复原始 select
元素。<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery UI MultiSelect Demo</title>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery.multiselect/2.5.2/jquery.multiselect.min.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.multiselect/2.5.2/jquery.multiselect.min.js"></script>
</head>
<body>
<select id="example-select" multiple="multiple">
<option value="option-1">Option 1</option>
<option value="option-2">Option 2</option>
<option value="option-3">Option 3</option>
</select>
<script>
$(function() {
$('#example-select').multiselect({
height: 'auto',
minWidth: 200,
classes: {
'ui-multiselect': 'custom-multiselect'
},
selectedText: function(numChecked, numTotal, checkedItems) {
if (numChecked === 0) {
return 'No options selected';
}
else if (numChecked === numTotal) {
return 'All options selected';
}
else {
return numChecked + ' options selected';
}
},
position: {
my: 'left bottom',
at: 'left top'
}
});
});
</script>
</body>
</html>
以上示例展示了如何使用一些配置选项自定义 MultiSelect 小部件。同时,为了删除默认文字样式 Select options
,我们添加了自定义样式 custom-multiselect
。