0

问题:

在“答案数”文本框中,它应该显示数字 1,但它没有,它显示数字 2,它显示这个数字的原因是在按钮更改之前,您选择了 2 个字母按钮,所以它在文本框中显示 2,因为您之前选择了 2 个字母按钮。

现在发生这种情况是因为这段代码:

$('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : '');,

$('.gridBtns').on('click', function()我确实需要这段代码。

我需要此代码的原因是因为假设有 7 个字母按钮“AG”并且您打开所有字母按钮,文本框将显示数字“7”,但如果我改变主意并且只想显示 5 个字母按钮“AE”,然后文本框将从“7”变为“5”,因为现在只打开了 5 个按钮。这就是我需要这段代码的原因。

所以我的问题是,如果用户点击了“添加”按钮,我怎样才能从添加的行中的“答案数量”列中获取数字并显示在文本框中?

下面是我的代码,它假设在单击“添加”按钮时在文本框中显示数字,但它被覆盖了,因为"$('#btn'+gridValues).trigger('click');"在该代码中是

$('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : '');,

在里面$('.gridBtns').on('click', function()

function addwindow(numberAnswer, gridValues, btn) { 

        $('#mainNumberAnswerTxt').val(numberAnswer);
        $('#btn'+gridValues).trigger('click');

}
4

2 回答 2

0

我认为您可以向 .gridBtns 元素添加一个自定义属性,该属性指定谁触发了单击按钮,以便当用户单击 .gridBtns 元素时,您可以使用 $(this).attr("cutom attribute name") 并使用这个值来检查谁触发了这个动作,你会根据它做出反应。

于 2012-07-10T13:33:09.887 回答
0

我认为重要的问题是:为什么您必须首先指定答案的数量和可能的答案集?那是冗余。而且,如果您想拥有这种冗​​余并始终保持一致,则必须定义约束来做到这一点,例如,将其中一项标识为主要内容——文本框应始终显示按下按钮的数量(以及因此是只读的)或(不太可能)按下按钮的数量应始终等于文本框中的数字。

即使没有“添加”按钮,允许用户独立编辑两者也必然会导致您描述的类型不一致。我的意思是,我可以输入“2”,然后继续标记所有答案。

于 2012-07-10T14:46:42.143 回答