0

下面是我假设单击“添加”按钮时在文本框中显示数字的代码$('#mainNumberAnswerTxt').val(numberAnswer);。但是我也有一行代码,它在单击(btn 'button')时触发该功能。

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

因为触发器它触发了这个函数$('.gridBtns').on('click', function()。在这个函数中是这行代码

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

这行代码检查单击 gridBtn 时打开了多少按钮并在文本框中显示数字。但是上面的代码行覆盖$('#mainNumberAnswerTxt').val(numberAnswer);了 addwindow() 函数中的。

例子:

如果有 2 个“#btns”已打开,但我单击“添加”按钮添加“答案数”列下显示的数字(假设此数字为 1),那么它应该显示数字 1在此代码生效的文本框中$('#mainNumberAnswerTxt').val(numberAnswer);,而是显示数字 2,因为此代码正在生效: $('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : '');

如何在上面的示例中显示数字 1 而不是显示数字 2

下面是文本框的html代码:

<input type="text" name="numberAnswer" class="numberAnswerTxt answertxt" id="mainNumberAnswerTxt" readonly="readonly" onChange="getButtons()" >

更新:

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

  • 第 1 步:打开演示时,单击“打开网格”链接并选择按钮“7”。这将在下面显示一个文本框和 7 个字母按钮。
  • 第 2 步:选择您选择的下方的 4 个字母按钮。当您打开一个字母按钮时,您会看到上面的文本框会计算它。
  • 第3步:现在在左侧你会看到一个绿色的加号按钮,点击它,它会打开一个模式窗口。
  • 第四步:在模态窗口有一个搜索栏,输入“AAA”并提交搜索,你会看到一堆行出现。
  • 第 5 步:在第一行中,您在“答案数”列下看到它包含数字 1,单击该行内的“添加”按钮,模式窗口将关闭,但您可以在下面阅读问题。

问题:

在“答案数”文本框中,它应该显示数字 1,但事实并非如此。

4

1 回答 1

0

好的,这个问题很令人困惑,但我想我知道你想要什么:只需向 mainNumberAnswerTxt 添加一个类或属性,这样第二个点击事件就可以忽略它

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

然后在您的 $('.gridBtns').on('click', function() 中您只需检查(不知道您的确切 html 和 js 代码)

if(this).attr('data-ignore') != true {
    $('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ?      context.find('.answerBtnsOn').length : '');
}
于 2012-07-12T22:18:15.040 回答