javascript - jQuery - 尝试在 if 语句中执行函数

标签 javascript jquery function if-statement

我正在尝试向表单添加一些验证。我有一个 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/

相关文章:

javascript - 如何使 if 语句永久化?

javascript - 使用 jQuery 混淆响应式菜单

function - 来自另一个 m 文件的 Octave 调用函数

java - 如何在 JSP 中保留下拉列表的选定值?

jquery - 在切换 div 上更改图像

javascript - 从输入中获取值并替换

javascript - 循环内的 Ajax 调用

javascript - 调用带有多个闭包的 javascript 函数

c - 将 `log10(2)` 的结果分配给一个常量

javascript - 将 html 表转换为 mat 表( Angular )