0

这是问题:

我创建了一个显示安全问题的下拉菜单。选项之一是“其他”。如果选择“其他”,下拉菜单旁边会弹出一个文本框,提示用户输入自己的安全问题。

这一切都很好,但是当用户选择“其他”并发生错误时(在表单的另一部分),向下滚动菜单仍然显示“其他”,但它旁边的文本框消失了。如果 $_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 回答