jQuery中的复选框

时间:2014-04-29 15:53:09

标签: javascript jquery

我想让多个复选框被"检查"用鼠标点击并拖动。 它适用于我的脚本:

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
            });
        }
    });
});

JsFiddle

但只有当你点击并拖动"标签时,它才有效。但不是复选框本身。 如何修改javascript,让这个工作?

2 个答案:

答案 0 :(得分:4)

想出来......我看到你已经为每个重叠在复选框上的标签填充了一个填充物,所以从理论上说它应该有效。唯一的问题是复选框实际上位于标签上方。

您只需要在输入复选框中添加一些CSS,以确保标签位于其上方,并且它就像魅力一样:

Fiddle

.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
            });
        }
    });
});