2014-02-06 3 views
0

Мне нужна помощь с помощью сценария jQuery, который будет запускаться, когда результаты будут выводиться на экран.jQuery удалять повторяющиеся строки на выходном цикле

При запуске выходного цикла мне нужно jQuery, чтобы посмотреть на все строки, чтобы увидеть, существует ли строка с аналогичным идентификатором, если это так, тогда мне нужно удалить текущую строку, которая была только что выведена, дубликат идентификатора.

Я строю свой tr "id", передавая уникальное значение из моего вызова db и привязывая его к строке "row_". Таким образом, в конце он сделает id как «row_6373» (6373 - уникальное значение).

<table> 
[while loop] 
      // jQuery script is currently right here... 
    <tr id="row_6373"><td></td></tr> 
    <tr id="row_988732"><td></td></tr> 
    <tr id="row_6435"><td></td></tr> 
    <tr id="row_6373"><td></td></tr> Row that was just output 
[/while loop] 
</table> 

В цикле работает мне нужно JQuery, чтобы проверить, если строка идентификатор «row_6373» существует, если оно мне нужно, чтобы удалить последний экземпляр row_6373. Это может произойти несколько раз в выходном цикле. «row_6373» может появиться, чтобы проверить тысячу раз.

Прямо сейчас я делаю это: я запускаю это в начале цикла, чтобы увидеть, существует ли идентификатор строки, он все же удаляет все.

<script> 
$(function(){ 
    if($("#action_row_" + {{ action.product.id }}).length){ 
     $("#action_row_" + {{ action.product.id }}).remove(); 
    } 
}) 
</script> 

Благодарим за помощь!

+0

Вы должны показать нам код, который фактически строит таблицу , иначе мы просто догадываемся? – adeneo

ответ

0

Вы просто проверяете, не является ли длина неопределенной. И тогда вы удаляете все элементы, соответствующие этому селектору. Вы хотите:

$(function(){ 
    if($("#action_row_" + {{ action.product.id }}).length > 1){ 
     $("#action_row_" + {{ action.product.id }}).last().remove(); 
    } 
}) 

Edit: Также следует использовать классы вместо идентификаторов, если у вас возникли дубликаты: #action_row_ должны быть .action_row_

+0

Хмм, его не удалять ряд. – LargeTuna

+0

Я должен также указать, что идентификаторы должны использоваться только один раз на странице. Вы должны использовать класс для action_row _... И поскольку вы используете идентификатор, он возвращает только первый элемент, который он находит в jquery. –

+0

@ LargeTuna на самом деле вы должны устранить дубликаты в своем запросе, прежде чем выкладывать их на своей странице. –

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