我只是想看看一个变量是否具有特定值,而另一个变量是否具有另一特定值。如果是这样,做点什么。
所以它只是一个if语句。 但这是行不通的。而且我不知道为什么。
所以我有变量:权利和价格 “权利”会警告以下内容:“个人” “ seeprices”输出为“ preiseaendern”。
var seeprices = $( "#seeprice").html();
var rights = $( "#rights" ).val(); //Value of Combobox
alert(seeprices + " " + rights); // seeprices outputs 'preiseaendern' and rights outputs 'Individuell'
if (rights == "Individuell" && seeprices =="preiseaendern"){
alert("it works...");
}
当我只使用
if (rights == "Individuell"){
alert("it works...");
}
它可以工作,并且我收到消息“它可以工作...”,但是一旦我添加
&& seeprices == "preisaendern")
它确实可以工作了,我不知道为什么。 谢谢大家。
答案 0 :(得分:1)
在使用用户值之前,应始终使用硬编码值测试您的支票 https://jsfiddle.net/czw72sj1/
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...");
}
使用它时,它可以正常工作,因此这意味着您的用户输入无法100%工作,因此@Rajesh表示使用String.trim()
所以有两件事让我脱颖而出:一方面允许HTML代码提取文本,另一方面允许HTML代码,
$( "#seeprice").html();
应该为$( "#seeprice").text();
,因为这会去除您需要的文本周围的所有HTML或空格,但仍应{{1}}编辑
.trim()
如果这仍然不起作用,可能是因为我看不到您的HTML,所以我无法用var seeprices = $( "#seeprice").text().trim();
var rights = $( "#rights" ).val().trim();
元素和#seeprice
组合框创建一个JSFiddle,因此我们可以看到发生了什么读取DOM值有误。