0

以下は、「追加」ボタンがクリックされたときにテキストボックス内に番号を表示することを想定しているコードです$('#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がクリックされたときにオンにされたボタンの数をチェックし、その数をテキストボックスに表示します。ただし、上記のコード行は$('#mainNumberAnswerTxt').val(numberAnswer);、addwindow()関数のを上書きしています。

例:

オンになっている「#btns」が2つあったが、「追加」ボタンをクリックして「回答数」列の下に表示される番号を追加した場合(この番号は1としましょう)、番号1が表示されます。このコードが影響を与えることにより、テキストボックスに表示されますが、このコードが影響を与える$('#mainNumberAnswerTxt').val(numberAnswer);ため、代わりに番号2が表示 されます。$('.answertxt', context).val(context.find('.answerBtnsOn').length > 0 ? context.find('.answerBtnsOn').length : '');

上記の例で表示される番号2ではなく番号1を表示するにはどうすればよいですか?

以下はテキストボックスのhtmlコードです。

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

アップデート:

これがアプリケーションのデモです。以下の手順に従ってください。

  • ステップ1:デモを開いたら、[グリッドを開く]リンクをクリックして、[7]ボタンを選択します。これにより、テキストボックスと7文字のボタンが下に表示されます。
  • ステップ2:選択した下の4文字のボタンを選択します。文字ボタンをオンにすると、上のテキストボックスがそれをカウントします。
  • ステップ3:左側に緑色のプラスボタンが表示されます。それをクリックすると、モーダルウィンドウが開きます。
  • ステップ4:モーダルウィンドウに検索バーがあり、「AAA」と入力して検索を送信すると、一連の行が表示されます。
  • ステップ5:最初の行の[回答数]列の下に番号1が含まれていることがわかります。この行内の[追加]ボタンをクリックすると、モーダルウィンドウが閉じますが、以下で確認できる問題があります。

問題:

[回答数]テキストボックスに1が表示されますが、表示されません。

4

1 に答える 1

0

わかりました、この質問はかなり紛らわしいですが、私はあなたが欲しいものを理解したと思います:mainNumberAnswerTxtにクラスまたは属性を追加するだけで、2番目のクリックイベントで無視できます

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 に答える