Javascript 如果($(This.val()==“Spine”,则此代码可以正常工作,但如果($(This.val()==“Spine”Brian),则此代码不能正常工作
如果Javascript 如果($(This.val()==“Spine”,则此代码可以正常工作,但如果($(This.val()==“Spine”Brian),则此代码不能正常工作,javascript,jquery,html,Javascript,Jquery,Html,如果($(This.val()=“Spine”)此代码运行正常,但如果($(This.val()=“Spine”| |“Brian”)则选择菜单关闭,然后在选择“optionbodyRegion”==“时再次打开,我做错了什么 $("#optionbodyRegion").change(function(){ if ($(this).val() == "Spine"||"Brain") { document.getEle
($(This.val()=“Spine”)
此代码运行正常,但如果($(This.val()=“Spine”| |“Brian”)
则选择菜单关闭,然后在选择“optionbodyRegion”==“
时再次打开,我做错了什么
$("#optionbodyRegion").change(function(){
if ($(this).val() == "Spine"||"Brain") {
document.getElementById('optioncontrast').options[0]=new Option("Select", "", false, false)
document.getElementById('optioncontrast').options[1]=new Option("With", "With", false, false)
document.getElementById('optioncontrast').options[2]=new Option("Without", "Without", false, false)
document.getElementById('optioncontrast').options[3]=new Option("With and Without", "With and Without", false, false)
$("#contrast").slideDown("fast"); //Slide Down Effect
} else {
if ($(this).val() == "" ) {
$("#contrast").slideUp("fast"); //Slide Up Effect
}
}
});
使用逻辑or运算符时语法错误 改变
if ($(this).val() == "Spine"||"Brain") {
到
正如法布里西奥·马特建议的那样,您可以将值用于javascript对象,而不是jquery对象的val()。这将给您带来性能优势
if (this.value == "Spine" || this.value == "Brain")
您必须在“或”的每一侧说明完整的条件/测试
if($(this).val() == "Spine" || $(this).val() == "Brain")
请尝试以下代码:
if (($(this).val() == "Spine")||($(this).val() =="Brain")))
您需要的是:
if ($(this).val() == "Spine"|| $(this).val() == "Brain")
实际上,您的代码在运算符优先级方面有一个错误。我建议你看看
您的版本将始终返回true,因为在布尔上下文中使用时,任何非零长度字符串都将解析为true。关于Javascript在布尔计算方面的古怪行为,有很多文章。一些最常见的方法的基本概要可以在中找到,我将使用不同的方法。特别是如果名单越来越多。如果您得到一个包含多个部分的列表,则条件将变得丑陋
var parts = ["Spine", "Brain"];
var value = $(this).val();
if($.inArray(value, parts) > -1){
//do something
}
或使用开关盒
$("#optionbodyRegion").change(function(){
switch ($(this).val())
{
case "Spine": case "Brain":
document.getElementById('optioncontrast').options[0]=new Option("Select", "", false, false)
document.getElementById('optioncontrast').options[1]=new Option("With", "With", false, false)
document.getElementById('optioncontrast').options[2]=new Option("Without", "Without", false, false)
document.getElementById('optioncontrast').options[3]=new Option("With and Without", "With and Without", false, false)
$("#contrast").slideDown("fast"); //Slide Down Effect
break;
case "":
$("#contrast").slideUp("fast"); //Slide Up Effect
break;
default:
break;
}
尽管用英语说,
如果x等于a或b
感觉很自然,但在大多数编程语言中,您需要明确地说,如果x等于a或x等于b
请随意接受这些答案,因为这将提高您的声誉以及花时间回答您问题的用户。或者如果(this.value==“Spine”| | this.value==“Brain”)
为了毫秒和简单起见。谢谢。我理解jQuery的好处,但人们为什么要用它来做最简单的内置操作,我不明白。。
$("#optionbodyRegion").change(function(){
switch ($(this).val())
{
case "Spine": case "Brain":
document.getElementById('optioncontrast').options[0]=new Option("Select", "", false, false)
document.getElementById('optioncontrast').options[1]=new Option("With", "With", false, false)
document.getElementById('optioncontrast').options[2]=new Option("Without", "Without", false, false)
document.getElementById('optioncontrast').options[3]=new Option("With and Without", "With and Without", false, false)
$("#contrast").slideDown("fast"); //Slide Down Effect
break;
case "":
$("#contrast").slideUp("fast"); //Slide Up Effect
break;
default:
break;
}