我有一個4列的表和一個提交按鈕。像這樣:禁用按鈕,如果選中複選框,但相應的文本框爲空
FOOD YES NO REASON
pizza cb cb tb
fries cb cb tb
curry cb cb tb
noodle cb cb tb
[SUBMIT]
我需要的是按鈕被禁用,如果有任何沒有框被選中,但其相應的文本框是空的。 我有這方面的工作在一定程度上。如果你順序遍歷每一個,那很好。所以你對比薩說是,並且按鈕保持啓用狀態。您將其更改爲「否」,並且該按鈕被禁用。您提供了一個原因,並再次啓用該按鈕。您清除文本框並且該按鈕再次被禁用。您可以更改回Yes,並啓用該按鈕。然後你做同樣的薯條和一切正常。等等
但是,如果您爲所有這些選項選擇否,並提供所有選項的原因(因此啓用了按鈕),然後清空比薩餅的文本框,則該按鈕不會像應該那樣被禁用。但是,如果你清除了麪條,那麼它確實如此。
我一直在試圖做的是每次點擊一個複選框或Reason列中的keyup時循環遍歷表格,但我對jQuery相當陌生,並不知道該怎麼做。 ..任何人都可以幫忙?
謝謝。
代碼:
$('input[type=checkbox]').click(function(){
checkReasons();
}
$('input[type=text]').keyup(function(){
checkReasons();
});
function checkReasons(){
$('#mytable tr:not(:first)').each(function(){
var cb = $(this).find('td:nth-child(3) input[type=checkbox]');
var tb = $(this).find('td:nth-child(4) input[type=text]').val();
if (cb.is(':checked')){
if (tb.length == 0){
$('#button').attr('disabled','disabled');
} else {
$('#button').removeAttr('disabled','disabled');
}
}
});
}
你能分享的HTML,所以我們(或你)可以使撥弄演示 – Sergio
好的,謝謝。 http://jsfiddle.net/CPSeM/ 這比我在上面的帖子中有點臃腫,因爲我試圖保持簡單。 – Fox