2014-04-10 127 views
0

我试图改变一个单选按钮,以在一个FORM中单击输入文本时进行检查。
这里是我的形式:检查点击输入文字(表单)上的单选按钮

<input type="radio" name="sel_limit" id="sel_limit_1" value="1" <?php if($limit_days) echo 'checked'?>> <?php echo MOD_CO_DAYS; ?> <input type="text" class="inputbox" name="limit_1" id="limit_1" value="<?php echo $limit_days; ?>" size="5"/>&nbsp; 
<input type="radio" name="sel_limit" id="sel_limit_2" value="2" <?php if($limit_weeks) echo 'checked'?>> <?php echo MOD_CO_WEEKS; ?> <input type="text" class="inputbox" name="limit_2" id="limit_2" value="<?php echo $limit_weeks; ?>" size="5"/> 

这里的js代码:

$('#limit_1').click(function(){ 
    $('#limit_2').val('0'); 
    $('#sel_limit_1').attr('checked', true); 
}); 

$('#limit_2').click(function(){ 
    $('#limit_1').val('0'); 
    $('#sel_limit_2').attr('checked', true); 
}); 

我试图用attrprop与不真,什么都不会发生。
这不工作,因为是一种形式?
我使用jQuery 1.8.3

+0

试试这个http://jsfiddle.net/aamir/6gRkD/ –

+0

你可能想尝试'.prop'再次,因为它肯定工程:http://jsfiddle.net/b38Vr/ – CodingIntrigue

+1

我认为OP不在DOM准备好他的代码尝试'$(document).ready(function(){$('#limit_1')。click(function(){.....});});' –

回答

-1

通过attr使用检查

所有的DOWNVOTER看到这个DEMO和prop使用真正看到它的作品DEMO

$(document).ready(function(){ 
$('#limit_1').click(function(){ 
    $("input[type='text'").val(''); 
    $("input[type='radio'").removeAttr("checked"); 
    $('#limit_2').val('0'); 
    $('#sel_limit_1').attr('checked', 'checked'); 
}); 

$('#limit_2').click(function(){ 
    $("input[type='text'").val(''); 
    $("input[type='radio'").removeAttr("checked");  
    $('#limit_1').val('0'); 
    $('#sel_limit_2').attr('checked', 'checked'); 
}); 
}); 

$(document).ready(function(){ 
$('#limit_1').click(function(){ 
     $("input[type='text'").val(''); 
     $("input[type='radio'").prop("checked",false);  
     $('#limit_2').val('0'); 
     $('#sel_limit_1').prop('checked', true); 
}); 

$('#limit_2').click(function(){ 
     $("input[type='text'").val(''); 
     $("input[type='radio'").prop("checked",false);   
     $('#limit_1').val('0'); 
     $('#sel_limit_2').prop('checked', true); 
}); 
}); 
+0

为什么downvote downvoter –

+1

因为'attr'不应该用来设置checked *属性* – CodingIntrigue

+0

不!我试过这也 – bfmr89

2

使用新的.prop()fu nction:

$('#sel_limit_2').prop('checked', true); 

的jQuery 1.5及以下

的.prop()函数不可用,所以你需要使用.attr()。

$('.myCheckbox').attr('checked','checked'); 
+0

prop()绝对有效 –