2

はい/いいえを選択するために使用されるテキスト入力とラジオボタンのペアを含むフォームがあります。これを簡単にするために、ラジオ ボタンのクリック イベントは値をチェックし、値が存在する場合は入力テキスト フィールドを表示します。いいえの場合、入力フィールドを非表示にします。また、ドキュメントの準備の初期状態を確認し、入力テキスト フィールドを表示/非表示にします。

[いいえ] をクリックすると、jQuery .hide() メソッドを使用して入力が非表示になることがわかりました。しかし、はいを選択すると、結果の .show() メソッド呼び出しに入力が表示されません。ラジオを [はい] に設定してからページを更新すると、入力が正常に表示されます。

Firebug は入力タグを表示しません。No radio をクリックすると、入力が DOM から削除されたようなものです。

JS コードのサンプルは次のとおりです。

    $(document).ready(function() {
        if ($('#cost_sharing_yes').attr('checked') == 'checked') {
            $('input#Institutional_CS_TP').show();
        } else {
            $('input#Institutional_CS_TP').hide();
        }

        $('#cost_sharing_yes').click(function() {
            $('input[id="Institutional_CS_TP"]').show();
        });
        $('#cost_sharing_no').click(function() {
            $('input#Institutional_CS_TP').fadeOut("fast");
        });
    }        
4

3 に答える 3

2

)準備完了関数を閉じるには不足しています:

$(document).ready(function() {

} // <--  

checked入力のプロパティを完全に取得するには、のprop代わりにメソッドを使用する必要がありattrます。

$(document).ready(function() {
   var isChecked = $('#cost_sharing_yes').prop('checked');
   $('#Institutional_CS_TP').toggle(isChecked);
   // ..
})
于 2012-12-20T02:54:11.397 に答える