我正在尝试向表单添加一些验证。我有一个 jQuery 函数,它正在做我想要的事情:
jQuery('#post').submit(function() {
if (jQuery("#set-post-thumbnail").find('img').size() > 0) {
jQuery('#ajax-loading').hide();
jQuery('#publish').removeClass('button-primary-disabled');
return true;
}else{
alert("Please set a Featured Image!");
jQuery('#ajax-loading').hide();
jQuery('#publish').addClass('button-primary-disabled');
return false;
}
return false;
});
但是,我想更改它,以便仅在选择页面上其他位置的单选按钮时才运行此函数。所以我尝试了这个:
if (jQuery('#top').checked) {
jQuery('#post').submit(function() {
if (jQuery("#set-post-thumbnail").find('img').size() > 0) {
jQuery('#ajax-loading').hide();
jQuery('#publish').removeClass('button-primary-disabled');
return true;
}else{
alert("Please set a Featured Image!");
jQuery('#ajax-loading').hide();
jQuery('#publish').addClass('button-primary-disabled');
return false;
}
return false;
});
}
这不起作用 - 即使检查了#top,该函数也不会被调用。谁能解释为什么?我已经习惯了 PHP,而 JavaScript 经常给我带来麻烦。
最佳答案
Firebug 或 Chrome 控制台会告诉您什么?你可以尝试这样的事情:
$('#top').is(':checked')
如(感谢 RET):
jQuery('#post').submit(function() {
if ($('#top').is(':checked')) {
if (jQuery("#set-post-thumbnail").find('img').size() > 0) {
jQuery('#ajax-loading').hide();
jQuery('#publish').removeClass('button-primary-disabled');
return true;
}else{
alert("Please set a Featured Image!");
jQuery('#ajax-loading').hide();
jQuery('#publish').addClass('button-primary-disabled');
return false;
}
}
return false;
});
关于javascript - jQuery - 尝试在 if 语句中执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14637380/