2

フォームのテーブル列に多数のチェックボックスがある場合があります。ユーザーはそれらの束を調べてチェックする必要があります (すべてではありません)。

チェックボックスをクリックしてドラッグし、1 回のスワイプで目的のチェックボックスを選択できると便利だと思うことがよくあります。

これが実装されているのを見たことがありません。このようなものの使いやすさについて誰か意見がありますか?

これを可能にするjqueryプラグインを見た人はいますか?

4

3 に答える 3

3

これが私の答えです。これは、ボールを転がすための Trufa と Tats のおかげです: http://jsfiddle.net/ebStc/7/

そのためのプラグインは次のとおりです。

$.fn.swipeable = function() {

var mousedownOn = {
        id: '',
        checkState: false
    };

$(document)
    .mouseup(function() {
        mousedownOn.id = '';
    });

$(this)
    .filter(':checkbox')
    .mousedown(function() {
        var $this = $(this);
        mousedownOn.id = $this.attr('id');
        mousedownOn.checkState = $this.prop('checked');
        $this.prop('checked',!$this.prop('checked'));
        $this.change();
    })
    .mouseenter(function() {
        var $this = $(this);

        if (mousedownOn.id != '' && mousedownOn.id != $this.attr('id')){
            $this.prop('checked',!mousedownOn.checkState);
            $this.change();
        }
    })
    .click(function(e) {
        e.preventDefault();
        return false;
    });
};
于 2012-08-09T05:24:41.547 に答える
2

この男のように?http://jsfiddle.net/ebStc/3/ または http://jsfiddle.net/ebStc/2/

これが役立つかどうかお知らせください。または、この投稿を削除させていただきます。

それが原因を助けることを願っています。

マウスポインタをドラッグすると選択され、もう一度ドラッグすると選択が解除されます:)

コード

$('input[type="checkbox"]').mouseenter(function() {

    if ($(this).is(':checked')) {
        $(this).prop('checked',false);
    } else {
         $(this).prop('checked',true);
    }
});​
于 2012-07-10T08:05:11.553 に答える
1

免責事項: これは未完成の作業であり、 Tats の回答この回答に基づいています。

ここで実際の例を確認できます。

それはOPが望んでいたものだと思いますが、マウスを押したときに最初のチェックボックスを実際にチェックしていない理由はわかりませんが、OPが探していたマウスドラッグ効果に近いです。

ここで編集するのは理想的ではありません。

于 2012-07-10T08:22:58.817 に答える