jQuery:单选按钮值未清除

时间:2013-02-08 05:59:51

标签: javascript jquery

我这里有代码。

<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收音机后,我正在显示一个包含两个按钮CallCancel的html表单。

点击Cancel时,我只是显示主call按钮。

现在问题就在于此。在访问主Call按钮的同时,出现了我不想要的无线电的先前选定值。

我希望在点击通话按钮时不应选择任何无线电值。

请让我知道为什么单选按钮值第二次作为选定值进行diplaying。我可能在这里做错了什么?

5 个答案:

答案 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);
});