0

可能重复:
代码在不应该生效时生效

我有一个函数,如果用户单击一个按钮,它将在文本框中显示一个值,并在单击“#btn”按钮后触发另一个函数:

function addwindow(numberAnswer, gridValues, btn) { 
    $('#mainNumberAnswerTxt').val(numberAnswer).data('data-ignore',true);
    $('#btn'+gridValues).trigger('click');       
 }

现在我想做的是:

  1. 如果用户单击“添加”按钮,则将“答案数量”列中的数字显示到文本框中,或者换句话说,从addwindow()函数中执行此操作:

    $('#mainNumberAnswerTxt').val(numberAnswer).data('data-ignore',true);

  2. 如果用户单击了一个#btn+gridValues按钮,则在文本框中显示当前打开的按钮数量的数字,或者换句话说,执行以下代码:

    if ($('#mainNumberAnswerTxt').data('data-ignore') != true) { $('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : 0); }

问题是第 1 步工作正常,它确实在用户单击“添加”按钮后显示文本框中“答案数量”列中的数字。

问题是第 2 步,在用户单击按钮后,它没有显示当前打开多少个按钮的正确数字。它#btn+gridValues只是不会更改文本框中的数字。

有谁知道为什么会发生这种情况以及如何解决?

演示:

这是该应用程序的演示。请按照以下步骤操作:

第 1 步:在左侧,您会看到一个绿色的加号按钮,单击它会打开一个模式窗口。第2步:在模态窗口有一个搜索栏,输入“AAA”并提交搜索,你会看到一堆行出现。第 3 步:在最后一行中,您会在“答案数量”列下看到它包含数字 4,单击该行中的“添加”按钮,模式窗口将关闭。

您将看到文本框在文本框中显示数字 4,这很好,因为这是添加行时“答案数”列下的行中的数字。

但问题如下:

第 4 步:如果单击“Open Grid”链接并选择按钮 3,您将看到下面的字母按钮变为 AC,仅打开字母“B”。

在文本框中它应该显示数字 1,因为只有 1 个按钮被打开,但它不显示这个数字,这就是我遇到的问题。

如何解决这个问题?

4

1 回答 1

0

您正在使用:

$('#mainNumberAnswerTxt').data('data-ignore')

有了.data()你就不需要提到前缀了data-。这应该改为:

$('#mainNumberAnswerTxt').data('ignore')
于 2012-07-17T16:39:06.670 回答