我在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 :(得分:0)
由于param是一个jQuery容器,你必须调用.val()
并修改它的输出:
if ($.trim($param.val()) == ''){
或获取相应的DOM元素及其value属性。
if ($.trim($param[0].value) == ''){