質問

私がJavaScriptオブジェクトに値の設定によりユーザが確認checboxに ColorBox.

私は比較的新しいjQueryプログラミングJavaScript"間違っていない"と思っていることをご確認ください以下の機構を取り込むユーザー チェック行動 した国際的なエンジニアチームは、JavaScriptます。さらに、私はjQueryを採用がより簡単な方法の開催を行うべき活?

function Check() {
    this.Checked = false;
}

obj = new Check;

$(document).ready(function() {
    $('.cboxelement').colorbox({ html: '<input id="inactivate" type="checkbox" name="inactivatemachine">&nbsp;<label for="inactivate">Inactivate Machine</label>' });

    $(document).bind('cbox_cleanup', function() {
        obj.Checked = $.fn.colorbox.getContent().children('#inactivate').is(':checked');
    });

    $(document).bind('cbox_closed', function() {
        if ($($.fn.colorbox.element()).attr('id').match('Remove') && obj.Checked) {
            var row = $($.fn.colorbox.element()).parents('tr');
            row.fadeOut(1000, function() {
                row.remove();
            });
        }
    });
});
役に立ちましたか?

解決

個人的に、私が直接jQueryの組み込みのdata()メソッドを使用してオブジェクトに値(複数可)を添付します。私は本当にあなたがやろうとしているか全くわからないけど、あなたは、例えば、使用のためにDOMの「名前空間」に値を添付することができ、後で1。

$('body').data('colorbox.checked',true);

次に、あなたは、後で値を取得します

var isChecked = $('body').data('colorbox.checked');

あなたは、任意のjQueryオブジェクトにdata()メソッドを実行します。私は、これは限りjQueryの行くようにベストプラクティスであると言うでしょう。

他のヒント

あなたは、グローバルデータを回避し、それが簡単に複数のチェックを持つようになり閉鎖、参照をキャプチャすることができます。しかし、この場合には、単一のカラーボックスに結合しているように見えるので、私はあなたが有効に複数のインスタンスを持つことができることを知りません。

function Check() {
    this.Checked = false;

    var obj = this; // 'this' doesn't get preserved in closures

    $(document).ready(function() {
       ... as before
    )};
}

var check = new Check; // Still need to store a reference somewhere.
  • $($.fn.colorbox.element()) は冗長となります。 $.fn.colorbox.element() はjquery要素となります。

  • で共通利用の例を見て朝からテンション上がって、少なくとも)に誤動作防止)、 $ に変数の参照jqueryます。
    なので、 var $rows = $.fn.colorbox.element().parents('tr'); を瞬時に、それを参照jquery要素(s)です。

  • 私は fadeOut な作業を行IE6(振り返ってみると、私が正しく).対応することができるでしょう隠されているすべてのコンテントの中の <tr> 取り外します。

できないのは、"簡単に"ことが非常に良いのではないかと思いcolorboxで最も利用します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top