2013-05-12 48 views
0

我有一个隐藏的HTML输入字段。从jQuery触发更改的值

<input type=hidden id=menutext> 

这个HTML场是从jQuery的功能触发其价值

$('#menutext').val(something); 

我怎么能触发某个功能时,我的隐藏字段被使用jQuery改变。由于.change工作,如果我放松对输入的重点。

+4

'$( '#menutext')VAL(东西).change();'。 – undefined 2013-05-12 20:36:28

+0

您还可以使用'.trigger('eventName')' – Nomad101 2013-05-12 20:38:22

回答

0

val()不会触发任何必须在将值赋给输入后手动触发它们的事件。

+0

执行几乎任何其他事件。除了自我交互之外,我怎样才能做到这一点? – Simmern 2013-05-12 20:53:33

+0

现在工作,@sergioadh你给了我一个idee,谢谢 – Simmern 2013-05-12 20:58:29

1

可以覆盖val()功能,使其引发change()

(function ($) { 
    var originalVal = $.fn.val; 
    $.fn.val = function(value) { 
    var original = originalVal.call(this, value); 
    this.change(); 
    return original; 
    }; 
})(jQuery); 

检查小提琴:http://jsfiddle.net/ApZax/

+0

我不认为这是一个好主意,重写这样的功能;危险的东西! – frenchie 2013-05-12 21:21:34

+0

@frenchie当然,我同意。尽管这是一个小小的改变,像这样的压倒一切需要关心。无论如何,这是手动触发的替代方案。 – acdcjunior 2013-05-12 21:23:43