16

2つのフォームがあります。1つはユーザーが編集するために選択する必要のあるラジオボタンです。

[form name="A"]
<li>[input type="radio" name="BookItem" value="1" /]</li>
<li>[input type="radio" name="BookItem" value="2" /]</li>
<li>[input type="radio" name="BookItem" value="3" /]</li>
[form]<p>

フォームから「BookItem」を選択した後(A)$("#EditFormWrapper").load("callEditData.cfm? ID="+ID);2番目のフォームをロードする関数を呼び出します(B)

<div id="EditFormWrapper"><div></p>
<!---//  begin dynamic form generated by external file callEditData.cfm  //--->
[form id="editForm" name="B"]
<ul class="hourswrapper">
<li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="AM2Hrs1" /> 2 Hours AM</li>
 <li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="PM2Hrs1" /> 2 Hours PM</li>
<li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="AM2Hrs2" /> 2 Hours AM</li>
 <li><input type="checkbox" id="TOR2Hours" class="TOR2Hours" name="TOR2Hours" value="PM2Hrs2" /> 2 Hours PM</li>
</ul>
[input type="image" src="images/submit-btn.gif" id="addBTN" name="addBTN" class="buttons" alt="SubmitRrequest" /]
[input type="image" src="images/cancel-btn.gif" id="editBTNcancel" name="editBTNcancel" class="buttons" alt="Cancel Request" /]
[/form]
<!---//  end dynamic form from external file //--->

ユーザーがフォーム(B)のキャンセルボタン(editBTNcancel)をクリックしたときに、フォーム(A)のラジオボタンのチェックを外したい。

これが私のスクリプトです:

$("#editBTNcancel").live("click", function(event){
    event.preventDefault();
    $("#EditFormWrapper").slideUp("fast").empty();
    //$('.TOR2Hours').removeAttr('checked');
    $('.TOR2Hours').attr('checked', false);
});

私は自分の問題を明確に述べたいと思います、どんな提案でも大歓迎です!

4

6 に答える 6

11

あなたはそのようにフォームにアクセスすることができます...

var exampleForm = document.forms['form_name'];

次に、フォームをループします

for( var i=0; i<exampleForm.length; i++ ){
   alert( exampleForm[i].type );
}

あなたはそのようにチェックされたものをテストすることができます...

if( exampleForm[i].checked ) 

チェックされたラジオボタンの選択を解除するには、...を試してください。

exampleForm[i].checked=false;

最終的なコードは次のようになります...

var exampleForm = document.forms['form_name'];
for( var i=0; i<exampleForm.length; i++ ){
   if( exampleForm[i].type ) == 'radio' && exampleForm[i].checked == true ){
       exampleForm[i].checked = false;
   }
}
于 2012-06-14T18:27:44.110 に答える
8

正確に何が必要かわかりませんが、リセット入力を使用してみてください。

<input type='reset' />
于 2010-04-06T23:37:47.437 に答える
3

これは非常に簡単なDOMタスクであり、すべてのスクリプト可能なブラウザーで機能するため、jQueryメソッドを使用しないことをお勧めします。

$(".TOR2Hours")[0].checked = false;

私に起こる他のことはあなたのセレクターが正しいかどうかです。クラスごとに要素のセットを選択するつもりでしたか、それともIDセレクターにする必要がありますか?

于 2010-04-07T09:26:38.480 に答える
1

あなたのセレクターは単に間違っています。最初のフォームのラジオボタンのチェックを外したい場合は、以下を使用する必要が$('input[name="BookItem"]')あり$('.TOR2Hours')ます。

$("#editBTNcancel").on("click", function(event){ $("#EditFormWrapper").slideUp("fast").empty(); $('input[name="BookItem"]').attr('checked', false); });

ラジオボタンのチェックを外すために使用する方法に関しては、次の3つの方法がすべて機能するはずです。

  1. $('input[name="BookItem"]').attr('checked', false);
  2. $('input[name="BookItem"]').removeAttr('checked');
  3. $('input[name="BookItem"]').prop('checked', false);

ただし、との違いについては、jQuery prop()に関するjQueryのドキュメントを確認してください。attr()prop()

于 2014-10-01T23:39:11.883 に答える
0

私はこの問題に対する素晴らしい解決策を発見しました。

チェック/チェック解除できる必要がある2つの無線があると仮定して、このコードを実装し、必要なものを変更します。

var gift_click = 0;
    function HandleGiftClick() {
        if (document.getElementById('LeftPanelContent_giftDeed2').checked == true) {
            gift_click++;
            memorial_click = 0;
        }
        if (gift_click % 2 == 0) {document.getElementById('LeftPanelContent_giftDeed2').checked = false; }
    }
    var memorial_click = 0;
    function HandleMemorialClick() {          
        if (document.getElementById('LeftPanelContent_memorialDeed2').checked == true) {
            memorial_click++;
            gift_click = 0;
        }
        if (memorial_click % 2 == 0) { document.getElementById('LeftPanelContent_memorialDeed2').checked = false; }
    }

:) どういたしまして

于 2012-02-09T18:10:49.350 に答える
0

この方法を使用してASP.netの問題を解決します。これを確認してください。

radioButton.InputAttributes["show"] = "false"; 
string clickJs = " if(this.show =='true'){this.show ='false'; this.checked = false;}else{this.show='true'; this.checked = true;};";  

radioButton.Attributes["onClick"] = clickJs; 

asp.netでは、この方法を使用して属性を追加できます。また、radioButtonに手動で属性を追加し、関数(clickJs)を実行してチェックされた属性を変更することもできます!!!

于 2012-12-25T07:22:29.267 に答える