我在联系表单中有一个下拉选项,并且希望在选择任一选项时显示一些附加表单元素。否则,应隐藏附加元素。我已经能够使用单个选项来实现此功能,代码如下:
$(".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/