SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【jQuery】チェックボックスの「すべて選択」「すべて解除」(セレクタの属性の記述方法)

jQueryのセレクタで、属性の指定方法はこう。

[attribute]  指定された属性を持つ要素を選択する。
[attribute=value]   属性が指定された値を持つ要素を選択する。
[attribute!=value]  属性が指定された値を持たない要素を選択する。
[attribute^=value]  属性値が指定された文字列から始まる要素を選択する。
[attribute$=value]  属性値が指定された文字列で終わる要素を選択する。
[attribute*=value]  属性値が指定された文字列を含む要素を選択する。
[selector1][selector2]...[selectorN]  複数の属性フィルタを指定し、全てを満たす要素を選択する。

ちょっと古い情報にあたってしまうと、こんなふうに書いてあることがあり、残念なことになる場合があります(jQuery1.2以前の情報)。

[@attribute=value]

↓↓エラー発生

'Syntax error, unrecognized expression: [@type=checkbox]' when calling method: ..... '

1.3以降では@は不要です。 [type=’checkbox’] でよいです。

おまけ

jQueryで、一覧表の中で全選択、全解除をやってみます。

<table>
 <tbody>
  <tr>
   <th><input type="checkbox" onclick="$(this.parentNode.parentNode.parentNode).find('input[type=\'checkbox\']').attr('checked', this.checked)" /></th>
   <th>氏名</th>
   <th>年齢</th>
  </tr>
  <tr><td><input type="checkbox" name="id[]" value="1" /></td><td>佐藤</td><td>20</td></tr>
  <tr><td><input type="checkbox" name="id[]" value="2" /></td><td>加藤</td><td>30</td></tr>
  <tr><td><input type="checkbox" name="id[]" value="3" /></td><td>田中</td><td>40</td></tr>
  <tr><td><input type="checkbox" name="id[]" value="4" /></td><td>山田</td><td>50</td></tr>
  <tr><td><input type="checkbox" name="id[]" value="5" /></td><td>高橋</td><td>60</td></tr>
 </tbody>
</table>

動作サンプル

氏名 年齢
佐藤 20
加藤 30
田中 40
山田 50
高橋 60

関連するメモ

コメント