0

たくさんの入力があるフォームがあります。私はjQueryを使用しているので、人が「はい」という答えを選択すると、「いいえ」をクリックするとテキストボックスが表示され、何も表示されません。私の問題は、人がページを送信し、ページがエラーでスローされる(リロードが発生する)場合、ページがPHP検証を実行するときに、ラジオボタンに選択した値を記憶させることができます(PHPを使用)。 -ユーザーが [はい] をクリックした場合にテキスト ボックスを表示します。

基本的に: User Picks はい、テキスト ボックスが表示されます。ユーザーがページを送信すると、検証エラーが原因でページが返されます。ラジオ ボタンは「はい」の状態を記憶していますが、はいをクリックしない限りテキスト ボックスは表示されません。

テキストボックスを表示する方法を教えてください。

jQuery

$("input[name='radioButton']").change(function(){
    if ($(this).val() == "Yes")
    {
        $("#txt1").show();
    }
    else
    {
        $("#txt1").hide(); 
    }
});
4

2 に答える 2

2

ページの読み込み時にオンになっているラジオ ボタンを確認できます。

$(document).ready(function(){
    if($("input[name='radioButton'][value='Yes']").is(':checked'))
        $("#txt1").show();
    else
        $("#txt1").hide(); 
});

編集: ".is(':checked')" を使用するように変更

于 2013-08-28T20:31:55.517 に答える
1

編集:これは正しい方法です。Ryan Henderson の回答から:

$(document).ready(function(){
    if($("input[name='radioButton'][value='Yes']").is(':checked'))
        $("#txt1").show();
    else
        $("#txt1").hide(); 
});

現在の変更イベント ハンドラーを置き換えることは想定されていません。基本的に、ページが読み込まれるときにラジオボタンの値をチェックします。

于 2013-08-28T20:27:16.813 に答える