jQuery チェックボックスの値復元


jQuery チェックボックスの値復元仕事でcheckboxの値を復元する必要があったのでjQueryでやってみた。

とりあえずコード

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
    var tags = ['1', '2', '3']; // 復元する値の例
    $('#main :checkbox').each(function(){
        if($.inArray($(this).val(), tags) > -1){
            $(this).attr("checked", "checked");
        }
    });

});
</script>

HTML部分(大体こんな感じ)

<div id="main">
    <input type="checkbox" name="sample" value="1" />hoge
    <input type="checkbox" name="sample" value="2" />moge
    <input type="checkbox" name="sample" value="3" />fuga
    <input type="checkbox" name="sample" value="4" />fuzz
    <input type="checkbox" name="sample" value="5" />buzz
</div>

この場合だと「hoge」、「moge」、「fuga」にチェックが入る想定。

$(‘#main :checkbox’)でcheckboxをさらって一つずつeachで処理。
その際順番に処理されるcheckboxの値がtags配列(復元対象)中に
あるかどうかを$.inArray($(this).val(), tags)でチェックし、「-1」(存在しない)
以外であれば復元するという感じ。

とりあえずできたけどこれがいいのかどうか・・・。

参考URL
■[jquery]チェックボックスのチェックを反転させるボタン

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です