我这里有代码。
<div class="proptions_container">
<button class="showbutton classname" >Call</button>
<div id="rd" style="display:none;">
<form id="blankform">
<input class="check_val" type="radio" name="check_val" onClick="setShemp(this.value)" value="callondesktop">Call On Desktop<br>
</form>
<form id="valueform">
<input class="check_val" type="radio" name="check_val" onClick="setShemp(this.value)" value="callonphone">Call On Phone
</form>
</div>
<div id="custom_proptions" style="display:none;">
<form style="border: 1px solid; display: block; float: left; padding: 13px 13px 12px 14px;">
<input name="proption_1" type="text" class="text" id="proption_1" placeholder="First Proption" />
<br>
<input name="proption_2" type="text" class="text" id="proption_2" placeholder="Second Proption" />
<br>
<input type="submit" class="classname" value="Call" />
<button id ="cancel" class="classname">Cancel</button>
</form>
</div>
<script>
function setShemp(value)
{
if(value == 'callondesktop')
{
$("#blankform").submit();
}
if(value == 'callonphone'){
$('div#rd').slideUp('slow');
$('.showbutton').hide();
$('#custom_proptions').slideDown('slow');
}
}
$('#cancel').click(function(e) {
$('.check_val').val('');
e.preventDefault();
$('#custom_proptions').slideUp('slow');
e.preventDefault();
//$('div#rd').slideDown('slow');
$('.showbutton').show();
});
$('.showbutton').click(function() {
$('div#rd').slideDown('slow');
});
$('#proptions').click(function() {
if ($(this).find(':selected').val() === '5') {
$('div#custom_proptions').slideDown('slow');
} else {
$('div#custom_proptions').slideUp('slow');
}
});
</script>
点击通话按钮时出现两个单选按钮(未选中任何一个)。
选择Call on Phone
收音机后,我正在显示一个包含两个按钮Call
和Cancel
的html表单。
点击Cancel
时,我只是显示主call
按钮。
现在问题就在于此。在访问主Call
按钮的同时,出现了我不想要的无线电的先前选定值。
我希望在点击通话按钮时不应选择任何无线电值。
请让我知道为什么单选按钮值第二次作为选定值进行diplaying。我可能在这里做错了什么?
答案 0 :(得分:1)
元素的已检查状态和禁用状态等属性值应通过.prop
处理,而不是.attr
。使用:
$("input[name='check_val']").prop('checked', false);
答案 1 :(得分:0)
你可以做的就是......在showbutton的click
功能中..取消选中收音机......
$('.showbutton').click(function() {
$('input[name="check_val"]').attr('checked', null);
//Or u can just use class selector $('input.check_val').attr('checked', null);
//OR using prop $("input[name='check_val']").prop('checked', false);
$('div#rd').slideDown('slow');
});
答案 2 :(得分:0)
删除属性“已检查”
$('input[name="check_val"]').removeAttr('checked');
答案 3 :(得分:0)
试试这个
$('input[name="check_val"]').attr('checked',false);
答案 4 :(得分:0)
你可以这样做:
$('.showbutton').click(function () {
$('div#rd').slideDown('slow');
$(':radio:checked').prop('checked', false);
});