どうすればいいのでしょうか?
http://jsfiddle.net/gmb65/11/
jQueryは条件に当てはまるもの全てに対して適用されます。
tdのclickで
$(this).children('td').children('input[type=checkbox]')
は、「配下の(すべての)tdの配下の(すべての)チェックボックス」というあつかいになるので、
<tr><td>1回</td> <td>1問</td> <td>赤いのはどれか<BR> <input type="checkbox">a りんご<BR> <input type="checkbox">b みかん<BR> </td> </tr>
だと、チェックボックスすべてが対象になります。
じゃあどうすればいいかというと、一例として、クリックの適用範囲をspanでくくって、その配下のみで処理を完結させるとかがあるかと。
<tr><td>1回</td> <td>1問</td> <td>赤いのはどれか<BR> <span class="checkItem" ><input type="checkbox">a りんご</span><BR> <span class="checkItem" ><input type="checkbox">b みかん>/span><BR> </td> </tr>
で、
$('span .checkItem').click(function() { var c = $(this)..children('input[type=checkbox]'); if(c.prop('checked')) c.prop('checked', ''); else c.prop('checked', 'checked'); });
とか。
とはいえ、jQueryを使うこと自体が目的ではないのなら、
単純にHTMLのLabelを使ったほうがいろいろ楽じゃないかとおもいます。
ラベル <LABEL> - HTMLタグリファレンス/Tips