-1

各行に 8 つのチェック ボックス (列 4) を持つセルを含むテーブルがあります。

ここに例があります

   <table id="enc-assets" class="table">
    <thead>
        <tr><th>Column1</th><th>Column2</th><th>Column3</th><th>Column4(CONTAINS OPTIONS)</th>
    </thead>
    <tbody>
    <tr>

        <td id="sc-isrc"></td>
        <td id="sc-filename"></td>
        <td id="sc-path" hidden></td>
        <td id="sc-platforms">
            <div id="sc-inline" style="display: inline-block;">
                <div >
                    <div ng-repeat="p in products ">
                        <label id="enc"><input id="Platform" ng-checked="prod[p.name]"  ng-model="prod[p.name]" ng-init="prod[p.name] = true" type="checkbox"/></label>                                   
                    </div>
                </div>
            </div>

        </td>
        <td>
        </td>
        <td><br/><br/><button id="enqueuebtn"  type="button" ng-click="Show(test)" class="btn-primary"></button></td>
    </tr>
        </tbody>
</table>

各行をループして、各セルの値を object に割り当てようとしています。

8 つのチェック ボックスを含むセルから値をチェックするのに問題があります。他のセルから値を取得できます。

私は次のことを試しました:

$("#enc-assets tbody tr").each(function() {
  var message;
  message = new Object();
  message.isrc = $(this).find('#sc-isrc').text();
  message.path = $(this).find('#sc-path').text();
  $("#sc-platforms div div").each(function() {
    var platform, selected;
    selected = $(this).find('#Platform div label input').checked;
    if (selected === true) {
      platform = $(this).find('#enc').text();

これは、うまくいくかどうかわからない部分です:

  selected = $(this).find('#Platform div label input').checked;

チェックボックスから値を取得するための正しいネストがありますか?

4

1 に答える 1

0

これを試して:

ここでjsFiddle

$("#enc-assets tbody tr").each(function() {
    var message;
    message = new Object();
    message.isrc = $(this).find('#sc-isrc').text();
    message.path = $(this).find('#sc-path').text();
    $("#sc-platforms>div>div").each(function() {
        alert( $(this).attr('id') );
        var platform, selected;
        selected = $(this).find('#Platform');
        if(selected.is(':checked')) {
            alert('Checked');
        }
        platform = $(this).find('#enc').text();
        alert(platform);
    }); //END each #sc-platforms>div>div
}); //END each #enc-assets tbody tr
于 2013-09-30T19:54:53.663 に答える