2014-01-06 28 views
0

嗯,這似乎微不足道的一些,但時間最長的我已經做了以下內容:修改錶行的內容與jQuery

$('table#mats tr:last').find("select[id^='material_type']").val(''); 
    $('table#mats tr:last').find("select[id^='material_desc']").val(''); 
    $('table#mats tr:last').find("select[id^='material_thick']").val(''); 
    $('table#mats tr:last').find("select[id^='material_color']").val(''); 
    $('table#mats tr:last').find("select[id^='material_finish']").val(''); 

換句話說,我修改值爲每個輸入我表格的最後一行。我正在尋找一種方法來做到這一點,而不會重複太多,因爲這可能會讓人無法接受。但我不確定你可以連鎖find並同時修改某些內容,或者我錯了嗎?我很確定jQuery中有一些允許這樣做的東西,但我不記得它是什麼。

+0

對於這樣的問題,它往往是一個很好的我dea(如果不是完全強制的話)提供一些樣本/代表性的HTML。在這種情況下,正如[Arun P. Johny顯示](http://stackoverflow.com/a/20954001/82548),它*可以被推斷出來,但是演繹只是一個受過教育的猜測,而猜測通常是不好的主意,用代碼。 –

回答

0

如果這些都在TR沒有其他選擇的元素,那麼爲什麼不

$('#mats tr:last select").val(''); 

如果有其他選擇的元素,並要重置僅這些元素,然後一個共同的類添加到所有這些選擇元素,然後

$('#mats tr:last select.myclass").val(''); 

如果那也是不可能的,那麼

$('#mats tr:last select").filter('[id^='material_type'],[id^='material_desc'],[id^='material_thick'],[id^='material_color'],[id^='material_finish']').val(''); 
+0

你也可以使用'end()'方法來做到這一點嗎? – Dimitri

+0

@Dimitri不確定你想用'end()'做什麼 –

+0

這很好,謝謝。 – Dimitri