在jQuery中,如何选择具有多个空格值的文本框?

时间:2012-07-25 09:16:40

标签: jquery

我需要选择此类文本框以验证必填字段。我该怎么做呢?似乎我可以使用if语句,但我不确定如何实现。

我编写了以下必需的字段验证程序来测试空文本框,但无法检测具有多个空格的文本框。我没有以正确的方式进行验证吗?我应该使用插件进行验证吗?

function validate()
        {
            $('.LoginFormBodyRightColumn input:text[value!=""]').next('span[class*="RequiredValidator"]').hide();
            $('.LoginFormBodyRightColumn input:text[value=""]').next('span[class*="RequiredValidator"]').show();
            $('.LoginFormBodyRightColumn input:password[value!=""]').next('span[class*="RequiredValidator"]').hide();
            $('.LoginFormBodyRightColumn input:password[value=""]').next('span[class*="RequiredValidator"]').show();


        }

在我看来if语句在jQuery中没有位置,因为在jQuery中你选择了一些东西然后在选择器上执行某些操作。涉及选择器的if语句没有意义。

3 个答案:

答案 0 :(得分:1)

function validate()
        {
         $('.LoginFormBodyRightColumn input:text,.LoginFormBodyRightColumn input:password,').each(function(){
         if($.trim($(this).val())==="")
         $(this).next('span[class*="RequiredValidator"]').show();
         else
         $(this).next('span[class*="RequiredValidator"]').hide();
         });
         }

答案 1 :(得分:1)

我理解你的问题试试这个......

<input class="LoginFormBodyRightColumn" type="text" />
<span class="RequiredValidator">*</span>
<input class="LoginFormBodyRightColumn" type="password" />
<span class="RequiredValidator">*</span>

<script >
  $("input").each(function(){
  var str=$(this).val();

  if(str=='')
      $(this).next('span[class*="RequiredValidator"]').show();
  else
      $(this).next('span[class*="RequiredValidator"]').hide();
  });
 </script>

答案 2 :(得分:1)

尝试获取所有输入的值,并使用不是jquery选择器的代码进行验证。使用jquery trim函数删除空格。

function validate( jQueryFormSelector )
{
  var inputs = $(jQueryFormSelector).find('input');
  inputs.each( function (i,el) {
    if ( $.trim( $(el).val() ) == '' )
    {
      $(el).next('span[class*="RequiredValidator"]').show();
    }
    else
    {
      $(el).next('span[class*="RequiredValidator"]').hide();
    }
  });

}