我在这里有一个测试应用程序,您可以使用:
请按照以下步骤使用该应用: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不是一个有效的例子,它就在那里你可以看到整个代码):
答案 0 :(得分:1)
在模态窗口中的“添加”按钮上,您正在调用parent.addwindow(key_0,'5','1','A-D','Single','A');
,但您的javascript中的函数addWindow()
只有1个参数:addwindow(textWeight)
...您正在发送5个参数。
正确调用该函数,您只是对数据没有做任何事情。
这是您发送给该功能的内容
使用$(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。