好几种实现方式,自我感觉这个最好用
<script type="text/javascript">
$(function () {
var s = ",";//设定分隔付
$('#CheckPeople').combo({
required: true,//是否验证
editable: true,//是否可编辑
multiple: true//可否支持多选
});
$('#CheckChoose').appendTo($('#CheckPeople').combo('panel'));
$('#CheckChoose input').click(function () {
var v = $(this).next('span').text();
if ("," == s || "" == s) {//第一次勾选时起作用
s = $(this).next('span').text();
}
else if (-1 < s.indexOf(v)) {//当去掉勾选时起作用 Indexof:返回某个指定的字符串值在字符串中首次出现的位置
var n = s.indexOf(v);
var m = s.indexOf(v) + v.length;
if (0 == s.indexOf(v)) {//取消第一个点击的勾选
s = s.substring(n + v.length + 1, s.length);
} else if (0 < s.indexOf(v) && ((s.indexOf(v) + v.length) < s.length)) {//取消非第一个和最后一个的勾选
s = s.substring(0, n) + s.substring(n + v.length + 1, s.length);
} else {//取消最后一个的勾选
s = s.substring(0, n - 1);
}
}
else {
s = s + "," + $(this).next('span').text();//将勾选各值拼接
}
});
</script>
选择审批人:
<select id="CheckPeople" style="width:150px"></select>
<div id="CheckChoose">
<div style="color:#99BBE8;background:#fafafa;padding:5px;">请选择审批人</div>
<div style="padding:5px">
@{
foreach (var Item in ViewBag.Person)
{
<input type="checkbox" name="lang" value=@Item.PersonGuid><span>@Item.Name</span><br />
}
}
</div>
</div>