2016-04-21 19 views
0

私がしようとしているのは、自分の上にマウスを置くと、自分のチェックボックスの背景色を変更することだけです。しかし、これは、td input:checkboxが動的に作成されているために、より複雑になります。私は考えられるすべてのアプローチを試みてきましたが、私はそれを正しくすることはできません。JQueryでホバーのチェックボックスでCSSスタイルを変更するには

/* snip */ 
    $('.table_products').on('click', 'td input:checkbox', function() { 

    $("input:checkbox").hover(function(){ 
     $(this).css({"backgroundColor": "yellow"}); 
    }, function(){ 
     $(this).css({"backgroundColor": "white"}); 
    }); 
/* snip */ 
+2

それが動的に使用を作成するなら、 '$(文書).on( 'ホバー'、 '識別子' 、function(){' – Zak

+1

あなたのコードは意味がありますが、チェックボックスのスタイルは編集できないという問題があります。http://stackoverflow.com/a/24322691/1601698を参照してください。 –

+0

@smerny、 'backgroundColor'はJavaScriptのプロパティ名です.jQueryで完全に有効です。 –

答えて

2

を多分チェックボックスの四角内の色を変更することはできませんが、@gavgrifが言ったようにあなたがだますことができます:ここではjQueryのは、私が持っています。

$("input[type='checkbox']").hover(function(){ 
    $(this).closest(".wrapper").css("background-color", "yellow"); 
}, function(){ 
    $(this).closest(".wrapper").css("background-color", "white"); 
}); 

おそらくあなたのセレクタがあまりにもworngた(宣言するための正しい方法は、[]の中にある):あなたは(全体ではなく、TDの)チェックボックスを渡すとき、私はちょうど置きます。

私はちょうどチェックボックスを包んだけど、あなたの現在の親を使用することができます。

<div class="wrapper"> 
    <input type="checkbox"/> 
    </div> 

Plunker:https://plnkr.co/edit/5V5cUysB9E0SYGMddFKl?p=preview

+0

ありがとうございましたまたはあなたの助け。私はチェックボックスが編集できないことを知らなかった。しかし、あなたのソリューションは実行可能な妥協案でした。基本的には、チェックボックスの上にマウスを置くと、正しい行が強調表示されます。ありがとう! – Vince

関連する問題