0

いくつかのチェックボックスに値を入力する方法についていくつかの問題newArray[]があります。コードは次のとおりです:
Html:

<form id="myForm">
    <div id ="checkboxes">
        <table>
            <tr>
                <td>
                    <label class="checkbox">
                        <input type="checkbox" name="my_opt[]" value="1"> 
                        Total
                    </label>
                </td>
                <td>
                    <label class="checkbox">
                        <input type="checkbox" name="my_opt[]" value="2"> 
                        Male
                    </label>
                </td>
            </tr>
            <tr>
                <td>
                    <label class="checkbox">
                        <input type="checkbox" name="my_opt[]" value="3"> 
                        Female
                    </label>
                </td>
                <td>
                    <label class="checkbox">
                        <input type="checkbox" name="my_opt[]" value="4">
                        Age
                    </label>
                </td>
            </tr>
            <tr>
                <td>
                    <label class="checkbox">
                        <input type="checkbox" name="my_opt[]" value="5">
                        Score
                    </label>
                </td>
            </tr>
        </table>
    </div>
    <input id='my_opt' type='hidden' name='my_opt[]' />
</form>

脚本:

<script>
    //checkboxes
    var check_box_values = $('#myForm [type="checkbox"]:not(:checked)').map(function () {
        return parseInt(this.value);
    }).get();

    (...)

    j = j + 1;

    //creating new button
    $("#save").append(
        $("<input type=button id=saved"+j+">").click(function() {
        (...)
        }).text("Chart"+j)
    );

    //change the checkboxes to new values from array
    var newArray = [];
    newArray[4] = check_box_values; //i want that to be [4]
    //click on new button
    $('#saved'+j).click(function() {
        $('#checkboxes').val(newArray[4]);
    });
</script>

これは機能しておらず、エラーが にあるようです $('#checkboxes').val(newArray[4]);。私が欲しいのは、newArray[4]; 例えばのデータに基づいてチェックボックスがチェックされることです。もしもnewArray[4] = [2,3,4]

構文がありません :s 助けてもらえますか?

4

1 に答える 1

1

これは、あなたが達成しようとしていることの一部だと思います。

これがライブの例です

jQueryを使用したコードは次のとおりです。

$(function(){

var $checkboxes = $('#checkboxes').find('input[type=checkbox]'),
    times = 0;

function checkBoxes() {
  var checked = [],
      unchecked = [];

    $checkboxes.each(function (index) {
        if ($(this).is(':checked')) {
          checked.push(index);
        } else {
          unchecked.push(index);
        }
    });

    $('#checkboxes').append('<a href="#" class="btn">Check boxes [' + checked.toString() + ']</a>')
      .find('a.btn:last')
      .data('check', checked)
      .on('click', function () {
          var data = $(this).data('check');
          console.log(data, $(this).index());

          $checkboxes.attr('checked', false);
          $checkboxes.each(function (index) {
            if (data.indexOf(index) >= 0) {
              $(this).attr('checked', true);
            }
          });
    });
}

setInterval(checkBoxes, 3000);
});
于 2012-11-27T17:41:02.557 に答える