2012-11-26 45 views
0

我有两个包含动态值的(只读)输入文本框。Jquery只读输入框

<input class="sum_a" readonly="readonly" value="0"> 
<input class="sum_b" readonly="readonly" value="0"> 

我想知道什么是最好的方式来执行JQuery中的操作,每次在这些框中的一个或两个的值发生变化时。一些沿着$('select[class=sum_a]').change(function()的行,但由于用户没有与不起作用的框交互。

我想只是提取当前值,并将其与每次以前的值进行比较。

sum_a= parseInt($("input[class='sum_a']").val()); 

任何人都可以提出一个更好的方法来做到这一点?

+0

为什么使用属性equals选择器按类选择?与按课堂选择相比,效率非常低。 –

回答

2

每次更改该值时,都会触发更改事件。

$(".sum_a").val("2").triggerHandler("change"); 

现在您的所述输入的更改事件将被触发。

+0

我不太明白,你能解释一下吗? –

+0

由于以编程方式更改输入的值不会触发更改事件,因此您可以自行触发该更改以获得相同的效果。通过使用我的代码,您可以按照您在问题中提出的方式绑定到更改事件。 $(“。sum_a”)。change(function(){...});' –

+0

所以我需要触发更改我使用'$(“。sum_a”).val(“2”)。triggerHandler (“change”);'但我仍然保留'$('select [class = sum_a]')。change(function(){}'部分,'.val(“2”)'部分是什么? –