2013-10-10 83 views
-2

我有了數據行的表:調用。每個函數

<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> 

我想打電話給使用行ID的功能。

format('total', 'customerS'); 

我無法弄清楚是如何調用使用.each,這樣的格式要求每個TR(行)的函數格式。請讓我知道,謝謝。

+1

你不能元素上使用相同的ID。 – peernohell

+2

我不明白人投票這個問題,他是新的和 想問一個問題,爲什麼投票棄權? – Liran

+1

@Liran這個網站充滿了不經解釋就失望的原創腳本小子,純粹是因爲他們不夠理解。 – Archer

回答

3

剛剛鏈each()

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

雖然如果參數應該是變量,取決於tr元素的某些屬性,那麼你就需要提供更多的細節。

但值得注意的是,您在tr s中包含的元素中複製了id s,這是無效的HTML。

1

試試這個

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

$(".rows") =>這將讓所有的類名 「行」 的RS。

.each(function(element){} =>這將迭代集合中的每個元素,給出對'element'變量中當前元素的引用。

注意:我可以看到,每個TR都具有保存相同ID的元素,但這不是處理重複元素的正確方法。 我認爲處理類名稱並試圖爲每個元素設置唯一的ID應該是您擁有可維護代碼的第一步。

我希望現在對你更清楚,讓我知道這是否解決了你的問題。

1

您不應該爲多個元素使用相同的ID。您可以改爲使用class。

 <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...}); 
相關問題