使用jQuery更改<input />标记时的fire函数(复选框/文本框)

时间:2011-10-06 20:22:51

标签: javascript jquery asp.net-mvc onchange

我想在我的表单上更改输入标签时复制updateTotals()函数(复选框,文本框)。

我正在使用Telerik MVC NumericTextBoxes / PercentTextBoxes,它最终呈现为标签,就像我的复选框一样。

我试图将这样的内容应用到我的页面中:

$("#SupervisionRequired").change(updateTotals());

此jQuery会在初始页面加载时触发,但在更改复选框时不会触发。

由于我正在使用基于我的模型(EditorFor,TextBoxFor)的一些通用MVC助手,我无法直接将onChange事件应用于这些控件。我的最终目标是在选中/取消选中Checkbox时调用updateTotals()函数,以及当用户在输入标记之外单击时(对于NumericTextBoxes)。

我可以做些什么来更改上面的jQuery,或者添加它以使其成为可能?

2 个答案:

答案 0 :(得分:3)

正确的语法是

$("#SupervisionRequired").change(updateTotals);

()之后没有updateTotals

答案 1 :(得分:1)

updateTotals()功能包含在function(){}

$("#SupervisionRequired").change(function(){
    updateTotals()
});

目前,您立即调用函数updateTotals(),并将返回值作为事件侦听器传递给change事件。

您可以使用选择器选择表单中的所有输入元素,而不是将change事件添加到$("#SupervisionRequired"),例如:$("#myFormName input").change(function(){updateTotals();})