小编Rya*_*yan的帖子

.each()集中的最后一个元素

我有一个问题,我在做一个简单的表单验证,需要一些验证插件无法为我做的自定义内容.基本上,我有一个名称,电子邮件和消息字段,所有都是必需的,但只有电子邮件确实有效,其他人只需要检查它们是否为空.这是我目前的代码:

$("#contactMe form").submit(function() {
    var email = $('.requiredEmail').val();
    if(email != 0)  {
        if(isValidEmailAddress(email))  {
            $('.requiredText').each(function() {
                thisVal = $(this).val();
                var $this = $(this);
                if(thisVal != 0) {
                    console.log('Valid Field: '+thisVal);
                    if ($(this) == $(this).parent(':last')) {
                        console.log('Last field, submit form here');
                    }
                }
            });
        } else {
            console.log('Email Not Valid');
        }
    } 
    return false;
});
Run Code Online (Sandbox Code Playgroud)

只是为了解释一下,我首先通过isValidEmailAddress函数检查电子邮件地址是否有效,这是有效的.然后我将使用each(),所有requiredText字段并检查它们是否为空.当我到达最后一个requiredText字段时,我想使用post或其他任何方式提交表单.

if ($(this) == $(this).parent(':last')) { 我在那里显然是不正确的,但我不确定可以用来检查它是否是每个结果集中的最后一个,并执行一个操作,如果为true.

有人可以帮帮我吗?

提前致谢.

each jquery

62
推荐指数
2
解决办法
11万
查看次数

JavaScript setInterval循环不保存变量

这是我的代码:

    var showNo = 1;     
    window.setInterval(function() {
          console.log(showNo);
          if(showNo === 1) { var nextNo = 2;  }
          else if(showNo === 2) { var nextNo = 3;  }
          else if(showNo === 3) { var nextNo = 4;  }
          else if(showNo === 4) { var nextNo = 5;  }
          else if(showNo === 5) { var nextNo = 1;  }
          else { var showNo = 1; var nextNo = 2; }

          var showNo = nextNo;
          }, 500);
Run Code Online (Sandbox Code Playgroud)

我的问题是,当setInterval循环启动时,为什么showNo变量没有保持?控制台在上面的示例中显示"未定义".这可能是一个简单的问题,但我正在努力教自己查询,这让我卡住了..

任何答案都会很棒.

谢谢.

javascript setinterval

3
推荐指数
1
解决办法
4670
查看次数

a:悬停背景 - 邮寄问题

出于某种原因,我不完全确定原因,但以下是行不通的.悬停时背景位置保持不变.我无法弄清楚为什么.我可以用另一种方式做到,但我想尝试找到它为什么不起作用的底部.

#nav a:link, #nav a:visited {
    background:url(../img/nav-sprite.png) no-repeat;
    display:block;
    float:left;
    height:200px;
    padding:10px;
    text-indent:-9999px;
    border:solid 1px red;
}

    #nav a#home {
        background-position:-10px 0px;
        width:30px;
    }
    #nav a#about-us {
        background-position:-85px 0px;
        width:45px;
    }

#nav a:hover    {
    background-position:1px -15px;
}
Run Code Online (Sandbox Code Playgroud)

有人知道是什么原因引起的吗?

提前致谢!

瑞安

css css-sprites hover background-position

3
推荐指数
1
解决办法
5191
查看次数

空格中的jquery结束字符串

我有一个'创建标签'的表单.使用下面的jQuery代码.

$("#createtag").submit(function() { //same as above, but for form submit instead of button click
   var newtag     = $('#newtag').attr('value');
   var type_id     = $('#type_id').attr('value'); 
   var company_id     = $('#company_id').attr('value'); 
         $('#createtag').load("../contacts/action_createtag.php?newtag="+ newtag + "&type_id=" + type_id + "&company_id=" + company_id).append('#createtags');
   return false;
  });
Run Code Online (Sandbox Code Playgroud)

但我刚刚意识到,如果'newtag'变量包含一个空格,那么它将会结束.通过firebug观察它,如果没有空间参数显示如下:

company_id 5495
newtag test
type_id 2
Run Code Online (Sandbox Code Playgroud)

但是当输入空格时,它看起来像这样:

newtag test
Run Code Online (Sandbox Code Playgroud)

有人知道为什么会发生这种情况吗?为什么它没有将适当的变量传递给加载的页面?

提前致谢!

瑞安

variables jquery whitespace

1
推荐指数
1
解决办法
1821
查看次数