我想让多个复选框被"检查"用鼠标点击并拖动。 它适用于我的脚本:
var $j = jQuery.noConflict();
$j(window).load(function () {
$j(".filterset").selectable({
filter: 'label',
stop: function () {
$j(".ui-selected input", this).each(function () {
this.checked = !this.checked
});
}
});
});
但只有当你点击并拖动"标签时,它才有效。但不是复选框本身。 如何修改javascript,让这个工作?
答案 0 :(得分:4)
想出来......我看到你已经为每个重叠在复选框上的标签填充了一个填充物,所以从理论上说它应该有效。唯一的问题是复选框实际上位于标签上方。
您只需要在输入复选框中添加一些CSS,以确保标签位于其上方,并且它就像魅力一样:
.filterset input {
display: inline-block;
z-index: -1;
}
答案 1 :(得分:1)
我更改了输入元素的选择器,它似乎工作(虽然有点'敏感') -
http://jsfiddle.net/jayblanchard/3WL4D/5/
var $j = jQuery.noConflict();
$j(window).load(function () {
$j(".filterset").selectable({
//filter: 'checkbox', // turned out to be unimportant
stop: function () {
$j(".ui-selected :checkbox", this).each(function () { // note the change
this.checked = !this.checked
});
}
});
});