1

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

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

1. 打开应用程序,您将看到“剩余总分”为 20。单击“添加问题”按钮,这将在下方添加一行。

2. 现在在附加的行中,您将看到一个文本输入。在文本输入中输入数字 10,然后单击离开。您将看到“剩余分数总数”已从 20 变为 10,这是正确的 (20-10=10)

3. 现在在同一行内有一个绿色的加号按钮,单击此按钮,将出现一个模式窗口,里面有一个搜索栏。

4. 在搜索栏中输入 2+2 然后输入搜索。将出现一行,在“标记数”列下显示数字 5,单击“添加”按钮添加该行。

5. 这就是问题所在,您会看到在附加行中它在文本输入“5”中显示,但如果您返回顶部,它仍然显示“剩余标记总数:10”。这应该更改为 15,因为 20 - 5 = 15。但它不会改变。

我的问题是,在用户在附加行中添加了一个数字后,我怎样才能改变总分?是因为我使用的是“OnChange”属性吗?

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

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

4

2 回答 2

1

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

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

这是您发送给函数的内容

在此处输入图像描述

评论后编辑

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

于 2012-10-11T16:09:01.473 回答
0

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

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

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

有关更多信息,请参阅我对另一个 SO 问题的回答。

于 2012-10-11T16:57:59.047 回答