2013-08-27 2 views
1

я есть динамические строки флажков, что я пытаюсь сделать, это получить значение, но не в состоянии сделать это Родитель Tr Пользовательский атрибут ,, я делаю некоторые вещи, как этотКак получить родительскую значение пользовательского атрибута с помощью Jquery

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 }; ?> 
+2

Опубликовать визуализированную разметку. Мы не можем анализировать ваши коды серверов с нашими мозгами. – undefined

ответ

1

Вы, вероятно, нужно data() вместо find() как находка используется для поиска элемента HTML не атрибут элемента HTML. Как у вас есть данные атрибуты вам лучше использовать данные вместо attr()

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

Вы связывание события на идентификаторе, но у вас нет идентификатора likr но его СТАТУСА имени использовать атрибут для выбора имени. Также свяжите событие в document.ready и убедитесь, что у вас есть jQuery успешно.

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

уже пробовал это, и он не работает –

+1

Причина для голосования? – Adil

+2

Ответ предложил '.attr()' без упоминания '.data()' до того, как был отредактирован ниндзя. – JJJ

1

вы должны использовать .data()

$(this).parent().data('tt-id') 
+0

Я пробовал это, но он не работает , –

+0

try 'jQuery ('[name^=" status "]'). Click (function (event) {' –

+0

да, я не могу выйти из своих базовых критериев –

0

Как я вижу, что вы генерировать этот код более чем один раз, не так ли? Это означает, что у вас есть несколько элементов <td id="chk"> с тем же идентификатором, которые у вас не могут быть. Вы можете проверить об этом here.

Так что добавьте код для генерации уникальных идентификаторов. (Как <td id="chk_<?php echo $count; ?>">)

Смежные вопросы