0

我在 jQuery 中将参数传递给我的简单函数时遇到问题:

当函数直接附加到元素时,一切正常。

 $companyNameInputs.bind('blur keyup',function(){
    if ($(this).hasClass('required')) {
        if (this.value == ''){
            $(this).addClass('inputError');
        }else {
            $(this).removeClass('inputError');
        }
    }
}); 

但是当我想将这个简单的检查声明为一个不同的函数时它不起作用:

这是我的功能:

 var standardCheck = function($param){
    $param.addClass('inputError');
    if ($param.hasClass('required')) {
        if ($.trim($param).value == ''){
            $param.addClass('inputError');
        }else {
            $param.removeClass('inputError');
        }
    }
};

这就是我所说的:

  $companyNameInputs.bind('blur keyup',function(){
    standardCheck($(this));
});

变量声明:

  var $companyNameInputs = $("#companyName")

和 HTML:

 <div>
     <p>
            <input class="text_input" type="text" id="companyName" name="companyName" value="" />
     </p>   
 </div>

请帮忙。

4

1 回答 1

0

由于 param 是一个 jQuery 容器,您必须调用.val()并修剪它的输出:

   if ($.trim($param.val()) == ''){

或者获取对应的 DOM 元素及其 value 属性。

   if ($.trim($param[0].value) == ''){
于 2012-04-05T11:17:19.293 回答