1

次のような(jQuery)セレクターが必要です。

テーブルセル内にチェックボックスがあるときはいつでも、カーソルをそのテーブルセルへのポインタにし、ユーザーがテーブルセル内の任意の場所をクリックした場合は、それらのチェックボックスをクリックします。

ある時点でこれを持っていたと思いますが、それは「オン」セレクターの時代の前であり、さらに、ある時点で無限ループに悩まされたと思うので、それを取り出しました。

4

2 に答える 2

2

これでうまくいきます。tdsを使用すると多数のイベントが発生する可能性があるため、イベントの委任を使用しました。tableまた、JavaScriptを介して将来さらに追加し、それらを正常に機能させる柔軟性も提供します

// Get some references to your elements.
var $table = $("#some-table");
var $tdWithCheckbox = $table.find("td:has(input[type='checkbox'])");    

// Alternatively, add a class which has `cursor: pointer`.
$tdWithCheckbox.css("cursor", "pointer");

// Use event delegation.
$table.on("click", "td", function() {
     $(this).find("input[type='checkbox']").prop("checked", true);
});
于 2012-09-03T02:46:57.503 に答える
1

:hasセレクターを使用できます。

$('td:has(input[type=checkbox])').css('cursor', 'pointer');

$(document).on('click', 'td', function(){
   $('input[type=checkbox]', this).click()
})
于 2012-09-03T02:47:30.080 に答える