即使一切正确,如果语句不能正常工作

时间:2019-08-20 10:01:06

标签: javascript jquery html css ajax

我只是想看看一个变量是否具有特定值,而另一个变量是否具有另一特定值。如果是这样,做点什么。

所以它只是一个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") 

它确实可以工作了,我不知道为什么。 谢谢大家。

1 个答案:

答案 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值有误。