javascript - 如果选择多个选项,使用 jQuery 显示隐藏的表单元素?

标签 javascript jquery toggle visibility contact-form

我在联系表单中有一个下拉选项,并且希望在选择任一选项时显示一些附加表单元素。否则,应隐藏附加元素。我已经能够使用单个选项来实现此功能,代码如下:

$(".hidden-section").hide();
$("#contact-form select").change(function(){
    if ($(this).val() == "extra options trigger one") {
        $(".hidden-section").slideDown("fast");
    } else {
        $(".hidden-section").slideUp("fast");
    }
});

不幸的是,如果选择两个选项中的任何一个,我不知道如何让它工作。我能够让 jQuery 正常工作的唯一方法是:

$(".hidden-section").hide();
$("#contact-form select").change(function(){
    if ($(this).val() == "extra options trigger one") || ($(this).val() == "extra options trigger two") {
        $(".hidden-section").slideDown("fast");
    } else {
        $(".hidden-section").slideUp("fast");
    }
});

但在这种情况下,一旦选择默认值以外的任何选项,隐藏的元素就会显示。

有什么更好的方法来解决这个问题吗?非常感谢任何建议。

谢谢!

最佳答案

此行上有不应该出现的额外括号:

if ($(this).val() == "extra options trigger one") || ($(this).val() == "extra options trigger two") {

应该是:

if ($(this).val() == "extra options trigger one" || $(this).val() == "extra options trigger two") {

也就是说,if() 语句的条件需要完全括在外括号内,因此:

if (condition1 || condition2)          // valid
if ((condition1) || (condition2))      // valid
if (condition1) || (condition2)        // NOT valid

关于javascript - 如果选择多个选项,使用 jQuery 显示隐藏的表单元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11909340/

相关文章:

javascript - 如何使用 jquery 或 javascript 隐藏空的 href 值按钮

javascript - 如何在 React 中单独切换多个显示

Jquery SlideToggle() - 只切换某些项目

javascript - 使 AJAX "get"功能同步/如何获得结果?

javascript - 如何在对象中按值创建排序索引数组

javascript - 只允许输入 float ,最大值为 100.00

javascript - 附加后输入相关函数未运行

css - Textmate 切换折叠/展开 CSS 规则命令?

javascript - 关于js获取背景颜色

javascript - 如何在 QML 文本上的特定单词上添加颜色