Javascript 即使一切正常,If语句也不能正常工作
我只是想看看一个变量是否有一个特定值,另一个变量是否有另一个特定值。如果是这样,做点什么 所以它只是一个if语句。 但它不起作用。我不知道为什么 所以我有一个变量:权利和价格 “权限”提醒以下内容:“个人所有” 而“seeprices”输出“preiseaendern” 当我使用Javascript 即使一切正常,If语句也不能正常工作,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,我只是想看看一个变量是否有一个特定值,另一个变量是否有另一个特定值。如果是这样,做点什么 所以它只是一个if语句。 但它不起作用。我不知道为什么 所以我有一个变量:权利和价格 “权限”提醒以下内容:“个人所有” 而“seeprices”输出“preiseaendern” 当我使用 if (rights == "Individuell"){ alert("it works..."); } 它起作用了,我得到了“它起作用了…”的信息,但一旦我添加 && seeprices == "
if (rights == "Individuell"){
alert("it works...");
}
它起作用了,我得到了“它起作用了…”的信息,但一旦我添加
&& seeprices == "preisaendern")
它不工作了,我不明白为什么。
提前感谢各位。在使用用户值之前,您应该始终使用硬编码值测试您的支票 当使用它时,它可以正常工作,这意味着用户输入不能100%工作,正如@Rajesh所说的使用
String.trim()
所以我有两件事很突出一件是从HTML中提取文本,同时允许使用HTML代码,
$(“#seeprice”).html()代码>应为$(“#seeprice”).text()代码>因为这将去除文本周围的HTML或空格,但仍应.trim()
ed
如果这仍然不能正常工作,我猜是因为我看不到您的HTML使用#seeprice
元素和#rights
组合框创建JSFIDLE,这样我们就可以看到读取DOM值时出现了什么问题。试试.val().trim()
好的,对于初学者来说,它应该是===
而不是==
您需要精确的字符串匹配而不是真实的字符串匹配尝试在这两个相等性测试中的每个测试周围加上一些括号。控制台中有错误吗?您写了“preisandern”在您的上一个代码部分和注释中的“preiseaendern”中,我尝试制作一个JSFIDLE来显示此代码应该做什么。在我的本地代码中,当我更改select中的前两个选项时,它实际上起作用。在这个JSFIDLE示例中,似乎没有一个是有效的。这个gif显示了它如何与我现在得到的前两个选项一起工作。非常感谢。这是.text().trim()代码>我需要的:)
&& seeprices == "preisaendern")
var seeprices = "preiseaendern";
var rights = "Individuell"; //Value of Combobox
alert(seeprices + " " + rights); // seeprices outputs 'preiseaendern' and rights outputs 'Individuell'
if (rights === "Individuell" && seeprices === "preiseaendern"){
alert("it works...");
}
var seeprices = $( "#seeprice").text().trim();
var rights = $( "#rights" ).val().trim();