0

そのため、markAsException の onchange イベントを追加するテキスト ボックスがあります。

私のJavaScriptは -

function markAsException(recordID) {
    //alert("Exception");

    //mark exception column
    document.getElementById("ctl00_cpMain_lblScrollException_" + recordID).innerText = "Exception";
    document.getElementById("ctl00_cpMain_lblScrollException_" + recordID).style.color = "#FF0000";
    document.getElementById("ctl00_cpMain_tdScrollException_" + recordID).style.backgroundColor = "#99CCFF";

    //enable comments ddl and remove blank (first item)
    document.getElementById("ctl00_cpMain_ddlCommentId_" + recordID).disabled = false;
    document.getElementById("ctl00_cpMain_ddlCommentId_" + recordID).focus();
    document.getElementById("ctl00_cpMain_ddlCommentId_" + recordID).options[0] = null;
}

私がしたいのは、ユーザーがテキストボックスの値を変更したときに、列を「例外」としてマークし、例外の理由を選択する必要があるドロップダウンリストにフォーカスすることです。

これが起こることです..私がそのテキストボックスにいて、それを変更してからタブを押すと、ドロップダウンリストにタブで移動します。

ただし、値を変更してフォームの別のテキスト ボックスをクリックするだけでは、ドロップダウン リストにフォーカスしません。

どうすればそれを達成できますか?

4

1 に答える 1

0

JQuery のchange()関数を使用することをお勧めします。

利点は、さまざまなブラウザー間でより安定することです。

何かのようなもの:

    $('#<%= TextBox1.ClientID %>').change(function(){
      // extract the recordID from the textbox - perhaps with an attribute?
      markAsException(recordID);
    });

コメントが長くなったので、拡大します。

ページの読み込みが完了したら、これを設定するための JQueryドキュメントを参照してください。tb がテキストボックスの ID の場合、セレクターは次のようになります

$('#<%= tb.ClientID %>')

コードを置き換えて使用することをお勧めします

tb.Attributes.Add("recordID", recordId.ToString());

これにより、必要な ID がテキストボックス タグに追加されます。上記で概説した関数に入ったら、次のセレクターを使用して、javascript で recordID を取得できます。

var recordID = $('#<%= TextBox1.ClientID %>').attr('recordID');

いっしょに

  $(document.ready(function(){
    $('#<%= tb.ClientID %>').change(function(){
      var recordID = $('#<%= tb.ClientID %>').attr('recordID');
      if(recordID){
        markAsException(recordID);
      }
    });
  });
于 2012-06-27T15:40:04.477 に答える