ので、適当にメモ。
◆checkboxの扱い方
// チェックボックス要素を取得
$( "input:checkbox" )
//チェックされたチェックボックスを取得
$( "input:checkbox:checked" )
// チェックボックスを全てチェックする
$( "input:checkbox" ).attr( { checked: "checked" } );
// チェックボックスのチェックを全て外す
$( "input:checkbox" ).attr( { checked: "" } );
//チェックされたチェックボックスの値のリスト
$( "input:checked" ).map( function() {
return $(this).val();
}).get().join(",");◆mapとeachの違いは?
jQueryは常に配列を扱う感覚。
配列を一括で操作する場合は、ピリオド(.)で関数をつなげればOK。
配列内の要素について、一つ一つ操作する場合は「each」か「map」を使う。
両方とも、配列内の各要素をループする感じ。
違いを自分の解釈で言えば、
- each:元の配列を操作する。
- map:元の配列を操作して、新しい配列を返す。
面白いことに、returnの挙動も違います。
- eachの場合、return falseでループが終了。
- mapの場合、何もreturnしないと配列に入らない。
◆formとfunctionの名前が同じ
関数が見つからない、といって怒られました。
<script language="javascript" type="text/javascript">
function do_this() {
$( ".do_this" ).val();
}
</script>
<form name="do_this" action="do_this.php" method="post">
...FireFox 3、Chrome 4で確認。
1 件のコメント:
// チェックボックスのチェックを全て外す
$( "input:checkbox" ).attr( { checked: "" } );
↑上記は間違ってませんか?。正しくは
$("input:checkbox").removeAttr("checked");
チェックボックスに値無しの"checked"属性を追加してもチェックされるので逆に全てチェックされてしまうと思います。
コメントを投稿