在项目中,经常遇到,于是整理
引用bootstrap的js和css
代码解释:
$("#dgFlowList").find(":checkbox:checked").each(function(){
var val = $(this).parents("tr").text();
data.push(val);
});
代码:
<html>
<head>
<title>多选</title>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css">
<script src="js/jquery.min.js"></script>
<script src="js/app.js"></script>
<script src="bootstrap/js/bootstrap.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#select_button").on('click',function(){
var checkids = [];
var data = [];
$("input[name='ckb']:checked").each(function(i){
checkids[i] = $(this).val();
});
if(checkids.length<=0){
$.notify('请选择请假单',{status: "danger"});
}else{
console.log(checkids);
$("#dgFlowList").find(":checkbox:checked").each(function(){
var val = $(this).parents("tr").text();
data.push(val);
});
console.log(data);
}
});
}); function deleteCurrentRow(obj){
var tr=obj.parentNode.parentNode;
var tbody=tr.parentNode;
tbody.removeChild(tr);
//只剩行首时删除表格
if(tbody.rows.length==0) {
tbody.parentNode.removeChild(tbody);
}
}
</script> </head>
<body>
<table cellspacing="0" rules="all" bordercolor="#CCCCCC" border="1" id="dgFlowList"
style="border-color:#CCCCCC;border-width:1px;border-style:solid;width:98%;border-collapse:collapse;MARGIN: 5px 0px">
<tr class="DataGrid_HeaderStyle" nowrap="nowrap" align="Center">
<th></th><th>流程名称</th><th>表单名称</th><th>操作</th>
</tr>
<tr>
<td><input type="checkbox" name="ckb" value="1"></td>
<td style="width:35%;">请假单1</td>
<td style="width:35%;">请假单</td>
<td align="Center" style="width:20%;">
<a href="javascript:;" onclick='deleteCurrentRow(this)'>删除</a>
</td>
</tr>
<tr>
<td><input type="checkbox" name="ckb" value="2"></td>
<td style="width:35%;">请假单2</td>
<td style="width:35%;">请假单</td>
<td align="Center" style="width:20%;">
<a href="javascript:;" onclick='deleteCurrentRow(this)'>删除</a>
</td>
</tr>
<tr>
<td><input type="checkbox" name="ckb" value="3"></td>
<td style="width:35%;">请假单3</td>
<td style="width:35%;">请假单</td>
<td align="Center" style="width:20%;">
<a href="javascript:;" onclick='deleteCurrentRow(this)'>删除</a>
</td>
</tr>
<tr>
<td><input type="checkbox" name="ckb" value="4"></td>
<td style="width:35%;">请假单4</td>
<td style="width:35%;">请假单</td>
<td align="Center" style="width:20%;">
<a href="javascript:;" onclick='deleteCurrentRow(this)'>删除</a>
</td>
</tr>
<tr>
<td><input type="checkbox" name="ckb" value="5"></td>
<td style="width:35%;">请假单5</td>
<td style="width:35%;">请假单</td>
<td align="Center" style="width:20%;">
<a href="javascript:;" onclick='deleteCurrentRow(this)'>删除</a>
</td>
</tr>
</table>
<div align="center">
<button type="button" class="btn btn-primary" id="select_button"> 多选</button>
</div>
</body>
</html>
app.js代码,是为notify写的,于功能没有多大的关系
/**
* Notify Addon definition as jQuery plugin
* Adapted version to work with Bootstrap classes
* More information http://getuikit.com/docs/addons_notify.html
*/ (function ($, window, document) { var containers = {},
messages = {}, notify = function (options) { if ($.type(options) == 'string') {
options = {message: options};
} if (arguments[1]) {
options = $.extend(options, $.type(arguments[1]) == 'string' ? {status: arguments[1]} : arguments[1]);
} return (new Message(options)).show();
},
closeAll = function (group, instantly) {
if (group) {
for (var id in messages) {
if (group === messages[id].group) messages[id].close(instantly);
}
} else {
for (var id in messages) {
messages[id].close(instantly);
}
}
}; var Message = function (options) { var $this = this; this.options = $.extend({}, Message.defaults, options); this.uuid = "ID" + (new Date().getTime()) + "RAND" + (Math.ceil(Math.random() * 100000));
this.element = $([
// alert-dismissable enables bs close icon
'<div class="uk-notify-message alert-dismissable">',
'<a class="close">×</a>',
'<div>' + this.options.message + '</div>',
'</div>' ].join('')).data("notifyMessage", this); // status
if (this.options.status) {
this.element.addClass('alert alert-' + this.options.status);
this.currentstatus = this.options.status;
} this.group = this.options.group; messages[this.uuid] = this; if (!containers[this.options.pos]) {
containers[this.options.pos] = $('<div class="uk-notify uk-notify-' + this.options.pos + '"></div>').appendTo('body').on("click", ".uk-notify-message", function () {
$(this).data("notifyMessage").close();
});
}
}; $.extend(Message.prototype, { uuid: false,
element: false,
timout: false,
currentstatus: "",
group: false, show: function () { if (this.element.is(":visible")) return; var $this = this; containers[this.options.pos].show().prepend(this.element); var marginbottom = parseInt(this.element.css("margin-bottom"), 10); this.element.css({
"opacity": 0,
"margin-top": -1 * this.element.outerHeight(),
"margin-bottom": 0
}).animate({"opacity": 1, "margin-top": 0, "margin-bottom": marginbottom}, function () { if ($this.options.timeout) { var closefn = function () {
$this.close();
}; $this.timeout = setTimeout(closefn, $this.options.timeout); $this.element.hover(
function () {
clearTimeout($this.timeout);
},
function () {
$this.timeout = setTimeout(closefn, $this.options.timeout);
}
);
} }); return this;
}, close: function (instantly) { var $this = this,
finalize = function () {
$this.element.remove(); if (!containers[$this.options.pos].children().length) {
containers[$this.options.pos].hide();
} delete messages[$this.uuid];
}; if (this.timeout) clearTimeout(this.timeout); if (instantly) {
finalize();
} else {
this.element.animate({
"opacity": 0,
"margin-top": -1 * this.element.outerHeight(),
"margin-bottom": 0
}, function () {
finalize();
});
}
}, content: function (html) { var container = this.element.find(">div"); if (!html) {
return container.html();
} container.html(html); return this;
}, status: function (status) { if (!status) {
return this.currentstatus;
} this.element.removeClass('alert alert-' + this.currentstatus).addClass('alert alert-' + status); this.currentstatus = status; return this;
}
}); Message.defaults = {
message: "",
status: "normal",
timeout: 5000,
group: null,
pos: 'top-center'
}; $["notify"] = notify;
$["notify"].message = Message;
$["notify"].closeAll = closeAll; return notify; }(jQuery, window, document));