更改<输入>时触发功能带有 jQ​​uery 的标签(复选框/文本框)

发布于 2024-12-08 11:08:30 字数 488 浏览 0 评论 0原文

每当我的表单(复选框、文本框)上的输入标签发生更改时,我都会触发 updateTotals() 函数。

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

我尝试将类似的内容应用到我的页面来执行此操作:

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

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

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

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

I'm looking to fire an updateTotals() function whenever input tags are changed on my form (checkboxes, textboxes).

I'm using Telerik MVC NumericTextBoxes/PercentTextBoxes which ultimately render as tags just like my checkboxes.

I've attempted to apply something like this to my page to do so:

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

This jQuery fires on the initial page load, but doesn't fire when the Checkbox is changed.

Since I'm using some generic MVC Helpers based on my model (EditorFor, TextBoxFor) I cannot directly apply the onChange event onto these controls. My end goal is to have the updateTotals() function called when a Checkbox is checked/unchecked, and when the user clicks outside of an input tag (for the NumericTextBoxes).

What can I do to change my above jQuery, or add to it to make this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笑叹一世浮沉 2024-12-15 11:08:30

正确的语法是

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

updateTotals 之后没有 ()

The correct syntax is

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

(without the () after updateTotals)

江城子 2024-12-15 11:08:30

updateTotals() 函数包装在 function(){} 内。

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

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

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

Wrap the updateTotals() function inside a function(){}.

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

Currently, you're immediately calling function updateTotals(), and passing the return value as an event listener to the change event.

Instead of adding the change event to $("#SupervisionRequired"), you an use a selector to select all of your input elements inside your form, eg: $("#myFormName input").change(function(){updateTotals();}).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文