2013-07-11 84 views
1

我試圖找到並計算一個div內的所有輸入字段,並禁用一個按鈕,如果任何是空的。然而,有幾個同級的div。我只需要一個輸入字段。嘗試了十幾件事,但沒有奏效。它要麼統計頁面上的所有輸入字段,要麼統計沒有。jquery限制每一個div

function submitDisable(){ 
    counter = 0; 
    $('.shipdiv input').each(function(){ 
    if($(this).val() == ''){ 
    $(this).css("background-color","#ff0000"); 
    $(this).closest('.shipdiv').find('#button-submit').prop('disabled', true); 
    counter++; 
} 
    if($(this).val() != ''){ 
    $(this).css("background-color",""); 
    counter-1; 
} 

    if(counter == "0"){ 
    $(this).closest('.shipdiv').find('#button-submit').prop('disabled', false); 
    } 
}); 

}

jQuery(document).ready(function(){ 
$('.shipdiv').click(submitDisable); 
}); 

我想:$(this, 'input')使用find();使用children();希望任何人undestands,可以幫助我。謝謝!

回答

2

您需要確保您的搜索範圍設置爲被點擊的div。目前,您正在查找所有類別爲shipdiv的div以及所有input字段。更新您的函數來調用.find()上點擊DIV,$(this)

function submitDisable(){ 
    counter = 0; 
    $(this).find('input').each(function(){ 
     .. 
    }); 
} 
+0

謝謝你,我很接近,但沒有雪茄,大聲笑。 – Snuur

0
if($('.shipdiv input[value=""]').length>0) 
{ 
    $('.shipdiv input:first').closest('.shipdiv').find('#button-submit').prop('disabled', true); 
}