0

問題は次のとおりです。

セキュリティの質問を表示するドロップダウン メニューを作成しました。選択肢の 1 つは「その他」です。[その他] を選択すると、ドロップダウン メニューの横にテキスト ボックスがポップアップ表示され、ユーザーは自分自身の秘密の質問を入力するように求められます。

それはすべてうまくいきますが、ユーザーが「その他」を選択してエラーが発生すると (フォームの別の部分で)、スクロール ダウン メニューには「その他」が表示されますが、その横のテキスト ボックスは消えます。$_POST['question'] == other の場合、テキスト ボックスをそのままにしておく方法はありますか?

これが私のコードの抜粋です。役立つ場合は、さらに表示できます。

   <script type="text/javascript">
        $(function(){
            //initially hide the textbox
            $("#other_question").hide();
            $('#dd_question').change(function() {
              if($(this).find('option:selected').val() == "0"){
                $("#other_question").show();
              }else{
                $("#other_question").hide();
              }
            });
        });
    </script>

ドロップダウンメニューのコードは次のとおりです(PHPで)

$option_list = array(
        "1" => "In what city did your parents meet?",
        "2" => "What is your mother's maiden name?",
        "3" => "What was the name of your first pet?",
        "4" => "What is your oldest sibling's middle name?",
        "0" => "Other",
    );
foreach ($option_list as $option_id => $option) {
        echo "<option value = \"{$option_id}\" ";
        if ($option_id == $_POST['dd_question']) {
            echo " selected=\"selected\"";
        }
    echo ">{$option}</option>";
}

すべての提案を前もってありがとう!

4

1 に答える 1

1

ページの読み込み時に、常に代わりに他のオプションを確認してください

//initially hide the textbox
            $("#other_question").hide();

行う

//initially check the default value in dd_question
if($('#dd_question').find('option:selected').val() == "0"){
                $("#other_question").show();
              }else{
                $("#other_question").hide();
              }
于 2012-07-31T18:02:20.653 に答える