2015-08-28 67 views
0

我有一個表單驗證代碼,它檢測所有屬性爲「validate」的DOM元素。這就是所謂的按下「提交」按鈕:Jquery在父表中查找帶有屬性的元素

$('*[validate]').each(function() {/*validation goes here*/}); 

這工作得很好。

但我也有兩個表,每個表都有它自己的輸入元素,裏面有validate屬性和一個'submit'按鈕。

<!-- First Table --> 
<table> 
    <tr> 
     <td><input type="text" value="" validate /></td> 
     <td><input type="button" value="Ok" onclick="validate function call here"/></td> 
    </tr> 
<table> 

<!-- Second Table --> 
<table> 
    <tr> 
     <td><input type="text" value="" validate /></td> 
     <td><input type="button" value="Ok" onclick="validate function call here"/></td> 
    </tr> 
<table> 

如何驗證只有在'提交'按鈕的同一父表中的元素?

回答

4

假設$(this)是處理程序

$(this).closest('table').find('[validate]').each(function() {/*validation goes here*/}); 

closest內提交按鈕會遍歷到擁有tablefind將只在搜索該table

+1

'*'沒用這裏,但無論。由於我在原始HTML中看到'onclick'屬性,它並沒有預示什麼是好東西,下面是[完整示例](http://jsfiddle.net/kast1rrm/)「它是怎麼樣的」。 – Regent

+1

@Regent,好點。感謝您的更正 – AmmarCSE