Javascript 为什么';我的函数是否按预期显示和隐藏元素?
首先,我对JS有点生疏,所以请放轻松! 我正试图根据选择的国家/地区显示/隐藏2个不同的div。 基本上,如果用户选择英国,它会显示一个英国地址div,如果用户选择任何其他国家,则会显示一个国际div 最终,我只希望一次显示一个div,所以需要根据选择打开和关闭它们 我已经使用了现有的解决方案,以达到我所处的阶段:Javascript 为什么';我的函数是否按预期显示和隐藏元素?,javascript,jquery,css,if-statement,conditional-statements,Javascript,Jquery,Css,If Statement,Conditional Statements,首先,我对JS有点生疏,所以请放轻松! 我正试图根据选择的国家/地区显示/隐藏2个不同的div。 基本上,如果用户选择英国,它会显示一个英国地址div,如果用户选择任何其他国家,则会显示一个国际div 最终,我只希望一次显示一个div,所以需要根据选择打开和关闭它们 我已经使用了现有的解决方案,以达到我所处的阶段: 国家: 全部的 英国 越南 瓦努阿图 瓦利斯和富图纳群岛WF 西萨摩亚群岛 英国查询框 国际输入框 var Privileges=jQuery(“#国家”); var selec
国家:
全部的
英国
越南
瓦努阿图
瓦利斯和富图纳群岛WF
西萨摩亚群岛
英国查询框
国际输入框
var Privileges=jQuery(“#国家”);
var select=this.value;
Privileges.change(函数(){
如果($(this.val()=='英国'){
$('.lookupbox').show();
$('.manualbox').hide()
}否则
$('.manualbox').show();
$('.lookupbox').hide();
});
它的工作原理是在选择UK时隐藏国际div,但不显示UK div
我想我遗漏了一些非常基本的东西,所以我非常感谢您的帮助 您的问题存在于您的
else
:
if ($(this).val() == 'United Kingdom UK') {
$('.lookupbox').show();
$('.manualbox').hide()
}
else $('.manualbox').show();
$('.lookupbox').hide();
由于没有同时包含这两条语句,因此只有第一条语句受if/else
的影响,而第二条语句每次都会执行
if ($(this).val() == 'United Kingdom UK') {
$('.lookupbox').show();
$('.manualbox').hide()
} else {
$('.manualbox').show();
$('.lookupbox').hide();
}
添加花括号将解决您的问题。您的问题存在于您的
else
:
if ($(this).val() == 'United Kingdom UK') {
$('.lookupbox').show();
$('.manualbox').hide()
}
else $('.manualbox').show();
$('.lookupbox').hide();
由于没有同时包含这两条语句,因此只有第一条语句受if/else
的影响,而第二条语句每次都会执行
if ($(this).val() == 'United Kingdom UK') {
$('.lookupbox').show();
$('.manualbox').hide()
} else {
$('.manualbox').show();
$('.lookupbox').hide();
}
添加大括号将解决您的问题。您的问题是,在您的else条件中,以$('.manualbox').show()结尾;$('.lookupbox').hide();每次都在执行。原因是您的else条件没有{}。只需添加,它就会工作。因为你没有{},它将在你的第一个星期结束;哇,这么简单,这么快!非常感谢,它工作得非常完美:)仅供参考,如果您使用具有格式化功能的IDE,那么您可以很容易地发现这样的错误。我已经更新了问题中的代码,这样格式就更容易发现问题。您的问题是,在else条件中,以$('.manualbox').show()结尾;$('.lookupbox').hide();每次都在执行。原因是您的else条件没有{}。只需添加,它就会工作。因为你没有{},它将在你的第一个星期结束;哇,这么简单,这么快!非常感谢,它工作得非常完美:)仅供参考,如果您使用具有格式化功能的IDE,那么您可以很容易地发现这样的错误。我已经更新了问题中的代码,这样格式就更容易发现问题。