这个代码在没有if条件测试的情况下工作正常,我在这里遇到if条件错误了吗?
$(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);
}
})
答案 0 :(得分:3)
问题是val
没有返回布尔值。如果您要检查value
的{{1}}是否为空,请尝试input[name=contest_open]
。
如果您要检查值是否为字符串“true”,则需要用引号括起val() !== ""
。
答案 1 :(得分:2)
value()将返回一个字符串。
如果您想要对“真实”
进行测试,请使用此选项$(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);
}
})
答案 2 :(得分:1)
如果您想检查存在,请使用:
if ($("input[name=contest_open]").val())
仅
另一方面,如果您打算检查内容为“true”,则可以使用
if ($("input[name=contest_open]").val() == "true")
由于val()函数返回字符串的简单原因。
答案 3 :(得分:0)
好吧,因为你有==
,1或者一个对象也会评估为真。对于===
,如果它是布尔值true,它将仅计算为真。
答案 4 :(得分:0)
试试这个。如果您认为该值可以包含“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);
}
})