(function($){
/*-----------------------------------------------------------------/
功能:用鼠标拖拉来选中checkbox
参数:无
返回:原调用对象
示例:$('#testtable').squareSelection();
author: hushuilong
email: hushuilong@gmail.com
/-----------------------------------------------------------------*/
$.fn.squareSelection=function(){
var container = $(this);
var stop_pop = function(e) {
try {
e.stopPropagation();
} catch(err) {
window.event.cancelBubble = true;
}
};
var box = function(){
if($('#square_selection_box').length == 0){
$('<div></div>',{id:'square_selection_box', style: [
'position:absolute; top:0; left:0;',
'border:1px solid #072246; background: #6bb0c9;',
'filter:Alpha(Opacity=15); opacity:0.15;',
'overflow:hidden;display:none;z-index:99999;'
].join('')}).appendTo(document.body);
}
return $('#square_selection_box');
};
var init = function(){
document.oncontextmenu=function(){ return false; };
$(container).find(':checkbox').mousedown(function(e){
stop_pop(e);
});
// mouse up
$(document).bind('mouseup', function(event){
$(container)[0].setCapture && $(container)[0].releaseCapture();
if(box().css('display') != 'none') {
var box_offset_top = box().offset().top;
var box_offset_bottom = box().offset().top + box().height();
$(container).find(':checkbox').each(function(i,item){
var offset_top = $(item).offset().top;
var offset_bottom = $(item).offset().top + $(item).height();
if (offset_bottom >= box_offset_top && offset_top <= box_offset_bottom) {
$(item).attr('checked',true);
}
});
}
box().hide();
$(container).unbind('mousemove');
});
// mouse down
$(container).mousedown(function(event){
event.preventDefault && event.preventDefault(); // 阻止默认行为发生
$(container).find(':checkbox').attr('checked',false);
var startPos = {
top: event.clientY + $(document).scrollTop(),
left: event.clientX + $(document).scrollLeft()
};
this.setCapture && this.setCapture();
// mouse move
$(container).unbind('mousemove').mousemove(function(event){
document.selection && document.selection.empty(); // for ie 取消选择
window.getSelection && window.getSelection().removeAllRanges(); // for non ie 取消选择
var top = event.clientY + $(document).scrollTop();
var left = event.clientX + $(document).scrollLeft();
var endPos = {
top: Math.max(top, container.offset().top),
left: Math.max(left, container.offset().left)
};
var fixedPoint = { // 设置定点
left: endPos.left > startPos.left ? startPos.left : endPos.left,
top: endPos.top > startPos.top ? startPos.top : endPos.top
};
var w = Math.min(Math.abs(endPos.left - startPos.left), container.offset().left + container.width() - fixedPoint.left);
var h = Math.min(Math.abs(endPos.top - startPos.top), container.offset().top + container.height() - fixedPoint.top);
box().show().css({left: fixedPoint.left+'px', top: fixedPoint.top+'px', width: w+'px', height: h+'px'});
});
});
}
init();
return $(this);
};
})(jQuery);
花了一个晚上研究出来的一个
jquery
插件,
用鼠标拖拉来选中
checkbox
用鼠标拖拉来选中
checkbox
用法: 在上面的红框里面点击鼠标左键(或右键),按住不动,移动鼠标 形成选区,再释放鼠标
分享到:
相关推荐
jquery 实现鼠标单击行时,改变行的背景颜色,选中checkbox复选框
### checkBox分别处理选中与不选中 在Web开发中,`checkbox`是一种常见的表单元素,用于收集用户的选择信息。通常情况下,一个`checkbox`只能代表一项选择,但可以通过设置多个`checkbox`来实现多选功能。本文将...
5. **CSS辅助**:为了视觉上呈现选中效果,我们可能还需要一些CSS样式来标记选中的checkbox,例如添加一个类`selected`,并定义相应的样式。同时,可以使用CSS来创建拖拽时的高亮边框,提升用户体验。 6. **性能...
如果需要在多个地方同步 `checkbox` 的选中状态,可以使用 `localStorage` 或 `sessionStorage` 来存储用户的选中项。每次 `checkbox` 状态改变时,更新存储,并在页面加载时根据存储的状态恢复。 8. **CSS样式...
**标题和描述**都是“JS判断是否选中checkbox”,这表明文章的主要目的是介绍如何使用JavaScript来检查一个或多个`checkbox`元素的状态(即是否被选中)。下面将详细介绍几种实现这一功能的方法,并对其进行深入解析...
JQuery 判断checkbox是否选中,checkbox全选,获取checkbox选中值
在Android开发中,CheckBox是一个常用的UI组件,用于提供两种状态的选择:选中和未选中。默认情况下,CheckBox的选中和未选中状态的图标是系统提供的,但有时为了满足应用的个性化需求,我们需要自定义这些图片样式...
本文将深入探讨如何使用jQuery来实现复选框(checkbox)的选中和取消选中功能,以及如何处理多选的情况。 首先,我们需要理解HTML中的`<input>`元素类型为"checkbox"的基本用法。复选框用于让用户从多个选项中选择...
在本文中,我们将深入探讨如何使用JavaScript来改变checkbox的选中状态。 首先,我们需要了解HTML中的`<input>`标签,它是用于创建复选框的。一个简单的复选框HTML代码如下: ```html <input type="checkbox" id=...
继承自BaseAdapter,重写`getView()`方法,在这里根据数据项的状态设置CheckBox的选中状态: ```java public class MyAdapter extends BaseAdapter { private List<String> items; private SparseBooleanArray ...
下面我们将详细探讨如何通过遍历容器(如`Panel`)中的所有子控件来判断`Checkbox`是否被选中。 #### 核心概念解释 1. **Checkbox控件**:这是一种常用的输入控件,用于收集用户的多选数据。每个`Checkbox`都可以...
在C#编程语言中,处理用户界面元素如CheckBox的选中状态是一项常见需求,尤其是在涉及多选场景时。本文将深入探讨如何在C#中有效且简洁地获取多个CheckBox控件的选中值,这对于构建响应式和用户友好的应用程序至关...
总结来说,解决ListView嵌套CheckBox滑动时的选中状态错乱问题,需要深入理解ListView的工作机制,合理利用ViewHolder,正确绑定数据,监听并处理CheckBox的状态变化,以及适当地处理点击事件。通过这些步骤,可以...
点击按钮获取选中的CheckBox值,JQ实现,代码非常简单。
所以checkbox为false。...把选中的checkbox中的id,其中包括模块id,操作id,拼接成一个字符串,然后把字符串传递到action中。 每次调用此页面时,首选调用action中的选中的id字符串,然后根据在id字符串的基
### 遍历CheckBoxList,获得选中项的值动态绑定CheckBoxList #### 知识点一:CheckBoxList概述及应用场景 **CheckBoxList** 是ASP.NET Web Forms中一个非常有用的控件,它允许用户选择一个或多个选项。CheckBoxList...
在本文中,我们将深入探讨如何使用jQuery来获取checkbox选中的值,包括全选、取消全选、反选以及选中奇数行的操作,并讲解如何获取选中的值。 首先,我们需要引入jQuery库。在`1.html`文件中,我们看到包含了一个名...
本文将深入探讨如何巧妙地处理`checkboxlist`的默认选中值以及实现换行显示。 首先,我们需要创建一个数据实体类来封装复选框的选项。例如,`CheckboxBean`类,包含`id`和`name`两个属性,分别代表复选框的唯一标识...
### CheckBox 选中效果:选中子的父自动选中,选中父的子全部选中 #### 背景介绍 在Web开发过程中,为了提高用户体验和简化操作流程,开发者常常需要对用户界面进行一些优化处理。其中,CheckBox控件因其在数据...
在“获取GridView中Checkbox的值”这个场景下,我们通常关注的是如何在用户交互后,如点击按钮时,获取到GridView中被选中的Checkbox对应的值。以下将详细解释如何实现这一功能。 首先,我们需要在ASP.NET页面的...