将值添加到文本输入后,数字不会更改

时间:2012-10-11 15:53:14

标签: javascript jquery jsfiddle

我在这里有一个测试应用程序,您可以使用:

请按照以下步骤使用该应用:Application

1。打开应用程序,您将看到“标记总数     剩下的“是20.点击”添加问题“按钮,这样就可以了     在下面添加一行。

2。现在在附加行中,您将看到文本输入。输入     文本输入中的数字10,然后单击。你会看到的     “剩余标记总数”已从20变为10     正确(20-10 = 10)

第3。现在在同一行内有一个绿色加号按钮,点击此按钮     按钮和模态窗口将显示在里面的搜索栏。

4。在搜索栏中键入2 + 2 an然后输入搜索。一排会     出现在“标记数量”列下面显示数字的位置     5,单击“添加”按钮添加行。

5。这就是问题所在,您将在附加行中看到     它在文本输入“5”中说,但如果你回到顶部它仍然     说“剩余商标总数:10”。这应该改为15     因为20 - 5 = 15.但它没有改变。

我的问题是,在用户将数字添加到附加行后,如何才能更改总标记数?是因为我使用的是“OnChange”属性吗?

下面是一个jsfiddle,它显示了整个代码:( Jsfiddle不是一个有效的例子,它就在那里你可以看到整个代码):

http://jsfiddle.net/WZKrP/2/

2 个答案:

答案 0 :(得分:1)

在模态窗口中的“添加”按钮上,您正在调用parent.addwindow(key_0,'5','1','A-D','Single','A');,但您的javascript中的函数addWindow()只有1个参数:addwindow(textWeight) ...您正在发送5个参数。

正确调用该函数,您只是对数据没有做任何事情。

这是您发送给该功能的内容

enter image description here

评论后编辑

使用$(plusbutton_clicked).closest('tr').find('input.txtWeightRow').val(textWeight).‌​trigger('change');来触发更改

答案 1 :(得分:0)

我认为此代码$('#mainTxtWeight').val(textWeight);导致问题。

根据W3C documentation,如果以编程方式更改输入控件的value,则必须手动触发更改事件。

尝试使用blur事件或手动触发change事件

有关详细信息,请参阅我的answer to another SO question