使用jQuery ...jQuery和嵌套元素
我希望能夠把父DIV,並通過搜索任何內部元件,用於查找任何地方在父元素嵌套在特定的元素。
然後我以這些元素,並通過他們的搜索和基於其數值,禁用/啓用不同的元素...
我也想這樣做的方式,這樣我可以有多個套家長的div允許功能在其內的特定元素相同的方式工作...
所以如果我有...
<div class="parent">
<table>
<tr>
<td>
<input type="text" />
</td>
</tr>
<tr>
<td>
<input type="text" />
</td>
</tr>
<tr>
<td>
<input type="text" />
</td>
</tr>
<tr>
<td>
<input type="submit" />
</td>
</tr>
</table>
</div>
<div class="parent">
<table>
<tr>
<td>
<input type="text" />
</td>
</tr>
<tr>
<td>
<input type="text" />
</td>
</tr>
<tr>
<td>
<input type="text" />
</td>
</tr>
<tr>
<td>
<input type="submit" />
</td>
</tr>
</table>
</div>
任何變化,我做的第一組文本的框將啓用/禁用t的提交按鈕他第一組......和第二組相同。
現在我有jQuery的設置,使得它的工作原理,如果他們沒有嵌套在比設置父div的類SubmitDisable父DIV更遠的地方....
$(document).ready(function() {
$('.SubmitDisable > input[type=submit]').attr('disabled', 'disabled');
$('.SubmitDisable > input[type=text], input[type=textarea]').keyup(function() {
$(this).siblings('input[type=submit]').removeAttr('disabled');
$.each($(this).parent().children('input[type=text], input[type=textarea]'), function() {
if ($(this).val() == "") {
$(this).siblings('input[type=submit]').attr('disabled', 'disabled');
}
});
});
});
有什麼想法?最終,我希望能夠使用此jquery的任何頁面,並圍繞一組文本框並提交按鈕,它會導致按鈕(s)禁用,如果所有的文本框在同一個「組」未填寫。
爲了幫助直觀瞭解這個需要的功能我添加的代碼假設塊,可能對這個
<div class="SubmitDisable">
<div><div><div><input type="text" /></div></div></div>
<div><table><tr><td><div><input type="text" /></div></td></tr></table>
<span><div><b><input type="text" /></b></div></span>
<input type="submit" />
</div>
現在說實話那種建立將是可怕的壞測試首先設計......但我並不總是會控制設計。在這種情況下,如果您需要檢查3個文本框中的任意一個,確保所有數據都有數據,如果它們都有數據,則啓用提交(如果不是其禁用)。
如果您可以在窗體而不是div上執行相同類型的搜索,問題會變得更加簡單。你想用div而不是表單嗎? – 2009-09-15 18:30:22
是的......每個組都需要在功能 – Patrick 2009-09-15 18:32:02