1

ここにコードがあります。

<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>

通話ボタンをクリックすると、2つのラジオボタンが表示されます(いずれもチェックされていません)。

ラジオを選択した後、 2 つのボタンとCall on Phone を含む html フォームを表示しています 。CallCancel

クリックCancel すると、メインcall ボタンが表示されます。

ここに問題があります。メインCallボタンをクリックすると、以前に選択したラジオの値が表示されますが、これは望ましくありません。

通話ボタンをクリックしているときに、ラジオの値を選択しないでください。

ラジオ ボタンの値が選択された値として 2 回目に表示される理由を教えてください。ここで何が間違っているのでしょうか?

4

5 に答える 5

1

要素のチェック状態や無効状態などのプロパティ値は.prop、 ではなくで処理する必要があり.attrます。使用する:

$("input[name='check_val']").prop('checked', false);
于 2013-02-08T06:09:21.477 に答える
0

これを試して

 $('input[name="check_val"]').attr('checked',false);
于 2013-02-08T06:12:49.460 に答える
0

「チェック済み」属性を削除します

 $('input[name="check_val"]').removeAttr('checked');
于 2013-02-08T06:08:10.567 に答える
0

あなたができることは..showbuttonclickの機能で..両方のラジオのチェックを外してください...

  $('.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');

}); 
于 2013-02-08T06:05:43.277 に答える
0

あなたはこれで行うことができます:

$('.showbutton').click(function () {
    $('div#rd').slideDown('slow');
    $(':radio:checked').prop('checked', false);
});
于 2013-02-08T06:15:35.793 に答える