2010-03-25 22 views
0

你好。 我这一段代码:当我选择单选ID1我需要禁用idText2,当我选择无线电ID2我需要禁用idText1通过jQuery禁用单选按钮的最佳方式是什么?

<div> 
    <input id="id1" name="radioButton" type="radio"> 
    <input type="text" id="idText1"> 
    <p></p> 
    <input id="id2" name="radioButton" type="radio"> 
    <input type="text" id="idText2"> 

</div> 

。 有没有一种优雅的方式?

亲切的问候 马西莫

回答

1

我想,要启用旁边的单选按钮也文本框?

$(function(){ 
    $('#id1, #id2').click(function(){ 
    $('#idText1')[0].disabled = (this.id != 'id1'); 
    $('#idText2')[0].disabled = (this.id != 'id2'); 
    }); 
}); 

你可能要开始与一个单选按钮,检查和其他文本框禁用:

<div> 
    <input id="id1" name="radioButton" type="radio" checked> 
    <input type="text" id="idText1"> 
    <p></p> 
    <input id="id2" name="radioButton" type="radio"> 
    <input type="text" id="idText2" disabled> 
</div> 
+0

为什么'$('#idText1')[0] ...'如果它是一个ID选择器?当然只有一个。 – 2010-03-25 18:15:16

+0

@Ben,去实际的dom元素,而不是他jQuery对象..(*因为他直接访问禁用的属性,而不是通过jquery setters .. *) – 2010-03-25 18:17:19

3

和一个衬垫一些乐趣:)(以及除了包装..

$('div :radio').click(function(){ 
    $(this).siblings(':text').attr('disabled','disabled').end().next(':text').removeAttr('disabled'); 
}) 
相关问题