строка таблицы клонов, добавление случайного или последовательного числа к идентификатору - PullRequest
2 голосов
/ 05 августа 2009

Итак, у меня есть этот код

$('input.clone').live('click', function(){
   //put jquery this context into a var
   var $btn = $(this);
   //use .closest() to navigate from the buttno to the closest row and clone it
   var $clonedRow = $btn.closest('tr').clone();
   //append the cloned row to end of the table

   //clean ids if you need to
   $clonedRow.find('*').andSelf().filter('[id]').each( function(){
       //clear id or change to something else
       this.id += '_clone';
   });

   //finally append new row to end of table
   $btn.closest('tbody').append( $clonedRow );
});

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

Ответы [ 3 ]

1 голос
/ 05 августа 2009

Почему бы не использовать количество строк в таблице

$clonedRow.find('*').andSelf().filter('[id]').each( function(){
       //clear id or change to something else
       var rowCount = $btn.closest('tr').siblings().length;
       this.id += 'row_' + rowCount;
   });
1 голос
/ 05 августа 2009
String(Math.floor(Math.random()*1000000))

даст вам случайное число в строковой форме от 0 до 999999.

0 голосов
/ 05 августа 2009
$('input.clone').live('click', function(){
   var $btn = $(this);
   var $clonedRow = $btn.closest('tr').clone();

   $clonedRow.find('*').andSelf().filter('[id]').each( function(){
       this.id += '_clone' + $(this).siblings().size();
   });

   //finally append new row to end of table
   $btn.closest('tbody').append( $clonedRow );
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...