2011-12-22 23 views
1

我可以得到禁止特定形式的所有輸入

form_id= $(this).parents('form').attr('id'); 

表單ID我可以禁用/啓用所有的投入與

if ($('.basket :input').is(':disabled') == true) { 
$('.basket :input').removeAttr('disabled'); 
$(".basket :input").removeClass('disabled'); 
$(':radio:not(:checked)').each(function(){ 
     $(this).removeClass('hidden').next('label').removeClass('hidden'); 

}); 

} else { 
$(".basket :input").attr("disabled", "disabled"); 
$(".basket :input").addClass('disabled'); 
$(':radio:not(:checked)').each(function(){ 
$(this).addClass('hidden').next('label').addClass('hidden'); 
}); 

什麼,我試圖做的僅僅是禁用在form_id下輸入元素。我認爲這可能是因爲我不知道如何在JQuery中替換變量?

+0

什麼是您的HTML? – JMax 2011-12-22 14:59:27

+0

對於那些現在閱讀這些內容的人來說,只有一個評論,在jQuery的最新版本中,您應該使用'.prop(「disabled」,true);'而不是'.attr(「disabled」,「disabled」)' – Chris 2012-01-13 10:25:43

回答

2

將formID選擇器添加到選擇器的開始處,例如

$('#' + form_id + ' .basket :input') 
0

$("#"+form_id + " > :input").attr("disabled", "disabled"); 

我通常不會提倡用由於性能僞選擇,所以你可以替換成離散型標記名列表,你應該想什麼。

0

要ID爲 「form_id」 禁用容器內的所有 「輸入」:

$('#form_id').find(':input').attr('disabled', 'disabled'); 

爲了使容器內的所有 「輸入」 ID爲 「form_id」:

$('#form_id').find(':input').removeAttr('disabled'); 

請注意,輸入psuedoselector不一定意味着只有標籤。有關更多信息,請參閱this page