0

を含むフォームの編集機能を実行していますcheckboxes。つまり、このフォームからデータを送信すると、送信時に以前に送信されたデータを編集するための規定があります。

送信されたチェックボックス値を含む配列があります。したがって、値がに含まれているチェックボックスごとに、をphp array使用してチェックボックスをオンにしますjQuery

私は以下を試しました:

HTML:

<?php
foreach ($selections as $selection) {
echo "<tr><td>" . $selection -> Name . "</td><td><input type=checkbox id=" . $selection -> Name . " name=selections[] value=" . $selection -> id . " /></td></tr>";
}?>

脚本:

var checkboxarray = <?php echo json_encode($checkboxarray) ?>;

        $.each(checkboxarray, function (i, elem){

        if(elem.name == $('input[name ="selections[]"]').attr('id')){

            $('input[name ="selections[]"]').attr('checked','checked');

            }

        })

ただし、正しく機能していないようです。

感謝します、ありがとう。

4

3 に答える 3

1

あなたはこれを行うことができます:

$.each(checkboxarray, function (i, elem){
    if($('#'+elem.name) != 'undefined'){
        $('#'+elem.name).attr('checked', true);
    }
});
于 2012-10-04T07:27:48.353 に答える
1

idセレクターで直接属性を探すことができます。

$.each(checkboxarray, function (){
        if($('#' + this.name).length){
            $('#' + this.name).attr('checked','checked');
        }
    });
});
于 2012-10-04T07:29:29.510 に答える
1

あなたもすることができます

試す

foreach ($selections as $selection) {
    $checked    =   in_array($selection -> Name, $checkboxarray ) ? 'checked="checked"' : '';
echo "<tr><td>" . $selection -> Name . "</td><td><input type=checkbox id=" . $selection -> Name . " name=selections[] value=" . $selection -> id . " ".$checked."/></td></tr>";
}

これ$checkboxarrayがチェック済みの配列リストです

于 2012-10-04T07:29:40.607 に答える