2011-07-24 14 views
0

初期化時にページが空白になるため、クリックしたときにフォームの一部を表示する2つのラジオボタンがあります。フォームの部分は2つの異なるdivにあります。以下のコードはそれをとてもうまく処理します。クリックしたラジオボタンに基づいて入力をリセットする方法

$(document).ready(function() { 
    $("input[name$='btnyes']").click(function() { 
     var test = $(this).val(); 
     $("div.hidemyforms").hide(); 
     $("#" + test).show(); 
     $("div.showsubmit").show(); 

}); 

});

ラジオボタン

 <input type="radio" name="btnyes" id="btnyes" value="getmytimeregular" />Yes 
    <input type="radio" name="btnyes" id="btnyes" value="getmytimetaken" />No 

私はdiv要素の#getmytimetakenを対象とし、ユーザーが任意の以前に選択した場合のdiv #getmytimeregularが表示されている場合は、次のコードでの入力をリセットしようとしています。 div #getmytimeregularが表示されている場合

$("#getmytimetaken").hide().find("input").val(""); 

はまた、私はそれがのdiv #getmytimetakenを対象とし、エラーをceatesとして実行しないように、このコードが必要です。

$('.ft4').change(function() { 
    var goo = $('.ft4[selectedIndex!=0]').length; 
    if (goo >= 1) $('.ft4[selectedIndex=0]').attr('disabled', 'disabled'); 
    else $('.ft4').removeAttr('disabled'); 

});

+0

btw、同じID(id = "btnyes")のコントロールが2つあります。 dom要素は一意のid属性値 – heximal

+0

のみを持つことができます。異なる値を持ちます... – webb

+0

異なる値を持つことができますが、ID属性はドキュメント内で一意でなければなりません。あなたがカスタムidを持つ要素にアクセスするにはどうすればよいでしょうか?ブラウザーはそのような文書をうまく解析しますが、結果は予測不可能になります。 – heximal

答えて

1

私はあなたが求めていることを正確には言い尽くしていませんが、あなたはdivの可視性に基づいて何かをしようとしているようです。このカスでは次のように使用できます:

if($("#getmytimetaken").is(':visible')){ 
///code to execute if the div is visible 
$("#getmytimetaken input:radio").removeAttr('checked') 
}else{ 
///code to execute if the div is not visible 
} 
+0

それは何らかの理由で発砲していません。それは全体のフォームを非表示にします – webb

+0

これはちょうど例だった(あなたはそれをbeholddする必要があります)私はちょうどあなたが何をしようとしているのか分かりません:jsfiddle.netに例を投稿できますか? –

+0

ここにフィドルがあります... http://jsfiddle.net/5nTsk/4/ 私の目標は、ユーザーにとってそれを簡単にすることです。 ユーザーが**「はい」**を選択してから**「いいえ」を選択し、**「いいえ」の部分のオプションを変更してから**「はい」の部分に戻ってしまいます**「いいえ**値をデフォルトに設定します。 ありがとう – webb

関連する問題