2012-04-05 28 views
0

我有問題,將參數傳遞給我的簡單功能的jQuery: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> 

請幫助。

回答

0

由於參數是一個jQuery的容器,你必須調用.val()和修剪的,輸出:

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

或得到相應的DOM元素,並將其值屬性。

if ($.trim($param[0].value) == ''){ 
+0

你是絕對正確的。這麼簡單的錯誤。 – czomberzdaniela 2012-04-05 12:48:48