javascript - 有条件的简单下拉列表?

标签 javascript html css

我正在尝试使用 HTML 对网站进行编程,但我有一个问题。我使用带有选项 A 和 B 的下拉列表,但选择其中一个后,我想在同一页面上创建另一个下拉列表和文本字段,并包含不同的问题。例如,如果有人选择 A,那么就会被问到问题 C 和 D,如果有人选择 B,则会被问到问题 E 和 F。对此进行编程的最佳方法是什么?

很抱歉有任何英语错误,我不是母语人士。 提前致谢。

最佳答案

这取决于数据是静态的(即在页面上编码且不会更改)还是动态的(即从网络服务器传递)。

如果您的下拉列表应该仅根据列表 A 过滤其内容,那么您可能需要使用一些 JavaScript 来隐藏/删除您不想要的元素。考虑考虑使用 jQuery,因为它是一个非常易于使用和理解的框架,并且 Stack Overflow 上和整个 Internet 上都有很多很好的示例可供您引用。

如果您的数据需要从 Web 服务器传送(即您有一个用于列表值的数据库),那么您需要提供有关您的编程框架的更多信息(例如 ASP.Net、 PHP 等)以及您希望列表如何工作(Ajax、整页回发等)。

假设您将页面上的所有内容保持静态并根据用户的选择隐藏信息。

您的 HTML 可能如下所示:

<body>
    <div id="myQuestions">
        <select id="QuestionOptions">
            <option value="A">Question A</option>
            <option value="B">Question B</option>
        </select>
    </div>
    <div id="myAnswers">
        <div id="A" style="display: none;">
            <div id="QuestionC">
                <p>Here is an example question C.</p>
            </div>
            <div id="QuestionD">
                <select id="QuestionOptionsD">
                    <option value="G">Question G</option>
                    <option value="H">Question H</option>
                </select>
            </div>
        </div>
        <div id="B" style="display: none;">
            <div id="QuestionE">
                <p>Here is an example question E.</p>
            </div>
            <div id="QuestionF">
                <select id="QuestionOptionsF">
                    <option value="I">Question I</option>
                    <option value="J">Question J</option>
                </select>
            </div>
        </div>
    </div>
</body>

您的 JavaScript(我使用的是 jQuery,如上所述)可能如下所示:

$(function () {
    $('#QuestionOptions').change(function () {
        $('#myAnswers > div').hide();
        $('#myAnswers').find('#' + $(this).val()).show();
    });
});

关于javascript - 有条件的简单下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4521984/

相关文章:

javascript - DOM 中所有背景图像的列表

php - 如何显示来自其他站点的 RSS 提要

javascript - jQuery DatePicker 填充输入 - 多次点击问题

javascript - Jquery Droppable 不适用于动态添加的 DIVS

css - 垂直对齐元素列表

javascript - JQuery如何获取可见区域的元素

jquery - CSS3+jQuery图像变换

html - 有人能告诉我为什么我的轮播导致所有文本元素移动吗?

html - 嵌套表格以百分比宽度对齐

javascript - 如何在 ul 标签下执行 JQuery UI 自动完成?