Javascript 这个JS if条件测试有什么问题?
这段代码在没有if条件测试的情况下运行良好,if条件哪里出了问题Javascript 这个JS if条件测试有什么问题?,javascript,jquery,if-statement,Javascript,Jquery,If Statement,这段代码在没有if条件测试的情况下运行良好,if条件哪里出了问题 $(document).ready(function() { if ($("input[name=contest_open]").val() == true) { var refreshId = setInterval(function() { $('#tweets').fadeOut("slow").fadeIn("slow"); $.get("/event", { event:$("in
$(document).ready(function() {
if ($("input[name=contest_open]").val() == true) {
var refreshId = setInterval(function()
{
$('#tweets').fadeOut("slow").fadeIn("slow");
$.get("/event", { event:$("input[name=event]").val(), }, function(data) {
console.log(data.success);
console.log(data.page_link);
console.log('Succesfully Loaded Data from JSON FORMAT GET');
$('#tweets').html(data.html);
$('#pagelink').html(data.page_link);
});
}, 30000);
}
})
val()将返回一个字符串
如果要根据“true”进行测试,请使用此选项
好吧,因为你有
==
,所以1或一个对象也会计算为true。使用==
时,只有当它是布尔值true时,才会计算为true。试试这个。如果您认为该值可以包含“True”,那么最好将其转换为小写
$(document).ready(function() {
if ($("input[name=contest_open]").val() == "true") {
var refreshId = setInterval(function()
{
$('#tweets').fadeOut("slow").fadeIn("slow");
$.get("/event", { event:$("input[name=event]").val(), }, function(data) {
console.log(data.success);
console.log(data.page_link);
console.log('Succesfully Loaded Data from JSON FORMAT GET');
$('#tweets').html(data.html);
$('#pagelink').html(data.page_link);
});
}, 30000);
}
})
问题是
val
不返回布尔值。如果您试图检查input[name=contest\u open]
的值是否为空,请尝试val()“”
如果您试图检查该值是否为字符串“true”,则需要用引号括起true
。如果要检查是否存在,请使用:
if ($("input[name=contest_open]").val())
只是
另一方面,如果你想检查“true”的内容,你可以使用
if ($("input[name=contest_open]").val() == "true")
原因很简单,val()函数返回一个字符串 虽然代码没有太多描述,但请尝试仅使用if($(“input[name=contest\u open]”).val())。您可能需要==“true”
,因为.val()返回字符串。
if ($("input[name=contest_open]").val() == "true")