不工作修剪JQuery

时间:2014-01-27 10:51:47

标签: jquery

在JQuery中不起作用。我看不出错误:

<input type="text" name="name" class="inputsearch field" onchange="this.val($.trim(this.val()));"/>

感谢您的帮助!

4 个答案:

答案 0 :(得分:6)

this是dom引用,因此它没有.val()方法,它有一个属性value,您可以使用它。

<input type="text" name="name" class="inputsearch field" onchange="this.value = $.trim(this.value);"/>

演示:Fiddle

或者您可以访问jQuery包装器并使用.val()

<input type="text" name="name" class="inputsearch field" onchange="$(this).val($.trim($(this).val()));"/>

但我建议不要使用内联事件处理程序,并建议使用

等脚本添加处理程序
<input type="text" name="name" class="inputsearch field"/>

然后

jQuery(function(){
    $('input[name="name"]').change(function(){
        this.value = $.trim(this.value);
    })
})

演示:Fiddle

答案 1 :(得分:2)

您不会编写内联jQuery代码,也无法在此处调用val(),而您需要$(this)。使用this将当前对象传递给javascript函数。在javascript函数中,在将DOM对象转换为jQuery对象

之后,您将在对象上使用jQuery方法
<input type="text" name="name" class="inputsearch field" onchange="someFun(this)"/>

function someFun(obj)
{
     $(obj).val($.trim(obj.val()));
}

答案 2 :(得分:1)

代码中的

this是javascript,val()是jquery方法

<input type="text" name="name" class="inputsearch field" onchange="$(this).val($.trim($(this).val()));"/>

答案 3 :(得分:1)

试试这个

<input type="text" name="name" class="inputsearch field" onchange="$(this).val($.trim($(this).val()));"/>