如何在jquery中覆盖此代码

时间:2012-07-12 21:52:03

标签: javascript jquery

以下是我在$('#mainNumberAnswerTxt').val(numberAnswer);点击“添加”按钮时在文本框中显示数字的代码。但我也有一行代码,它会在点击(btn'按钮')时触发函数。

 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时打开的按钮数,并在文本框中显示该数字。但上面的代码行覆盖了addwindow()函数中的$('#mainNumberAnswerTxt').val(numberAnswer);

实施例

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

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

下面是textbox的html代码:

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

更新:

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

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

问题:

在“答案数量”文本框中,它应显示数字1,但不显示。

1 个答案:

答案 0 :(得分:0)

好的,这个问题很混乱,但我想我想出了你想要的东西: 只需在mainNumberAnswerTxt中添加一个类或属性,以便第二次点击事件可以忽略它

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

然后在您的$(&#39; .gridBtns&#39;)。(&#39;点击&#39;,功能()中,您只需检查(不知道您的确切html&amp; js) -code)

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