1

チェックボックスの動的な行があります。私がやろうとしているのは、Parent Tr カスタム属性値を取得することですが、そうすることができません。私はこのようなことをしています

   jQuery('[id^="status-"]').click(function(event) {
    var parentTrID = $(this).parent().find('data-tt-id');
    alert(parentTrID);
});

これは私の HTML/Php 部分です

       <?php
            $count = 0;
            foreach ($this->Allocations as $Allocation)
            {
                $count++;
                ?>
                <tr id="<?php echo $count; ?>" data-tt-id="<?php echo $Allocation->getId(); ?>" <?php echo (is_object($Allocation->getParent()) ? 'data-tt-parent-id="' . $Allocation->getParent()->getId() . '"' : ''); ?>>
                    <td><?php echo @$Allocation->getName(); ?></td>
                    <td id="chk"><input type="checkbox" name="status[]" value="<?php echo $Allocation->getId(); ?>"></td>
                    <td><input  type="hidden" id="code-<?php echo $count; ?>" name="code-<?php echo @$Allocation->getCode(); ?>"></td>
                </tr>
            <?php }; ?>
4

3 に答える 3

2

.data()を使用する必要があります

$(this).parent().data('tt-id')
于 2013-08-27T16:28:02.133 に答える
1

find は html 要素の属性ではなく html 要素を見つけるために使用されるため、おそらくdata()の代わりに必要です。find()データ属性があるので、代わりにデータを使用することをお勧めしますattr()

 var parentTrID = $(this).closest('tr').data('tt-id');

ID でイベントをバインドしていますが、ID likr status はありませんが、その名前は名前に属性選択を使用します。また、イベントをdocument.readyにバインドし、jQuery が正常に含まれていることを確認します。

jQuery('[name^="status-"]').click(function(event) {
    var parentTrID = $(this).closest('tr').find('data-tt-id');
    alert(parentTrID);
});
于 2013-08-27T16:27:42.460 に答える