2013-10-10 3 views
-2

У меня есть таблица, которая имеет строки данных:Вызов .each функции

<tbody>      
    <tr class="rows"> 
    <td><input type="text" name="total" value="3500.00" id="total" class="price"></td> 
    <td>$<input type="text" value="23.00" name="customerS" id="customerS" class=""></td> 
    </tr> 

    <tr class="rows"> 
    <td><input type="text" name="total" value="3900.00" id="total" class="price"></td> 
    <td>$<input type="text" value="3446.00" name="customerS" id="customerS" class=""></td> 
    </tr>        
</tbody> 

Я хочу, чтобы вызвать функцию с помощью Идентификаторы строк.

format('total', 'customerS'); 

То, что я не могу понять, как позвонить в формат, используя функцию .each так, что формат называется для каждого тра (строки). Пожалуйста дайте мне знать, спасибо.

+1

вы не можете использовать тот же идентификатор на элементе. – peernohell

+2

Я не понимаю людей, голосующих за этот вопрос, он новый, и хотел задать вопрос, почему голосует? – Liran

+1

@Liran Этот сайт полон wannabe script kiddies, что downvote без объяснения, чисто потому, что они недостаточно понимают, чтобы оправдать его. – Archer

ответ

3

Просто цепь each():

$('tr.rows').each(function(){ 
    format('total', 'customers'); 
}); 

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

Стоит отметить, однако, что вы дублируете id s в элементах, содержащихся в tr s, что является недопустимым HTML.

1

попробовать это

$(".rows").each(function(element){ 
var curretnRow = $(element);  
// apply your function here 
}); 

$(".rows") => это будет получить все ИВВ с именем класса "Row".

.each(function(element){} => Это приведет к переходу по каждому элементу коллекции, давая ссылку на текущий элемент в переменной 'element'.

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

Желаю, чтобы вам стало более ясно, сообщите мне, если это решило вашу проблему.

1

Вы не должны использовать один и тот же идентификатор для нескольких элементов. Вместо этого вы можете использовать класс.

 <tbody>      
      <tr class="rows"> 
       <td><input type="text" name="total" value="3500.00" id="total" class="price"> 
       </td> 
       <td>$<input type="text" value="23.00" name="customerS" class="customerS" class=""></td> 
      </tr> 

      <tr class="rows"> 
       <td><input type="text" name="total" value="3900.00" id="total" class="price"> 
       </td> 
       <td>$<input type="text" value="3446.00" name="customerS" class="customerS" class=""></td> 
      </tr>        
       </tbody> 

А потом

jQuery(".customerS").each(function(index, element) { 
    blah blah... 
}); 
1

Вы можете сделать так:

$(this).closest('tr').each(function() {...code...}); 
Смежные вопросы