0

jQueryの単純な関数に引数を渡す際に問題があります。

関数が要素に直接アタッチされている場合、すべてがOKです。

 $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 に答える