如何在Jquery中禁用单选按钮

时间:2011-05-02 15:21:27

标签: jquery jquery-selectors

这是我的问题。在文本字段txt1中更改数据时,我们向json文件发送请求,该文件输出在该文本中输入的值的状态(Y表示)“是”,并且(N表示) )检查“否”,如果没有值 只检查“否”。下面是代码,但是如果我们输入“213”,则表示“A”,因此状态为“YES”,因此选中“YES”,“NO”为“DISABLED”。“214”表示“B”,因此状态表示“否”,检查“否”,“禁用”,“是”也“禁用”。只应检查“否”,而不是“禁用” 可能是我们在之前的“是”中已经“禁用”。

$.getJSON("test.php",{'val' : $("#txt1").attr('value'),'cde' :$("#txt2").attr('value')},
                    function(data){                                         
                      if(data[0].status){                           
                            switch(data[0].status){
                            case 'A':  
                                $('#rb_Statusyes').attr('checked',true);
                                $('#rb_Statusno').attr('disabled','disabled');                              
                                break;
                            case 'B':           
                                $('#rb_Statusno').attr('checked',true);
                                $('#rb_Statusyes').attr('disabled','disabled');
                                break;
                            case '':            
                                $('#rb_Statusno').attr('checked',true);
                                $('#rb_Statusyes').attr('disabled','disabled');
                                break;          
                            }
                      }

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您的问题是您之前已设置该属性,现在需要将其删除。

$('#rb_Statusno').attr('checked',true);
$('#rb_Statusno').removeAttr('disabled'); // Also remove the previously added disabled
$('#rb_Statusyes').attr('disabled','disabled');
$('#rb_Statusyes').removeAttr('checked'); // Also remove the previously added checked

答案 1 :(得分:0)

代码看起来没问题,但试试这个

//disable  options
$('#rb_Statusyes').attr('checked', true);
$('#rb_Statusno').attr('disabled', true);

//enable  options
$('#rb_Statusno').removeAttr('disabled');