11

私のhtmlがどのように見えるかの基本的なビューは次のとおりです。

<form>
  <div id="part1">
     // some html form elements including checkboxes
  </div>
  <div id="part2">
    // more html code with more checkboxes
  </div>
  <div id=part2">
     // data table with numerous checkboxes built dynamically
  </div
</form>

私がする必要があるのは、.click()イベントをパート 1、2、および 3 のチェックボックスに個別にバインドすることです。私はこれを試しまし$('#part1:checkbox').click(...)たが、うまくいきませんでした。同じクリックイベントを使用する$("form :checkbox").click(...)と、1 つのセットだけでなく、すべてのチェックボックスにバインドされます。これらをどのように分離しますか?

4

4 に答える 4

24

あなたはほとんどそこにいます。子孫セレクターを区切るためにスペースが必要です。

$('#part1 :checkbox').click(function(){
    // code goes here
});

パフォーマンスを向上させるには、これを使用することをお勧めします。

$('#part1 input[type=checkbox]').click(function(){
    // code goes here
});
于 2012-06-27T23:04:55.437 に答える
1

または、すべてのチェックボックスに同じクラス名を指定し、チェックボックスにも対応する div ID を指定すると、次のコードを使用できます。

<input type="checkbox" class="checkall" id="part1">Part 1 

スクリプトは次のようになります。

$('.checkall').click(function () {
if (this.checked == false) {
$("." + $(this).attr("id")).hide();
}
});
于 2014-05-19T06:59:39.810 に答える
0

これを使って:

$('#part1 input:checkbox').click(...)

http://api.jquery.com/checkbox-selector/

于 2012-06-27T23:06:41.830 に答える