1

テキストボックスとラベルの2つのボタンを含む列を持つasp.netリストビューがあります。

ボタンがクリックされると、JavaScript 関数が実行されます。

この関数は、テキスト ボックスの値を取得し、ラベルでカウント ダウンを開始します。

問題は、どの行を選択しても、リストビューの最初の行から値を取得し、リストビューの最初の行にもラベルを設定することです。

これを機能させるために何十回も試みましたが、正しい行を使用することはできません。

正しい値を取得して設定するにはどうすればよいですか?

ありがとうございました

function countdown() {
      interval = setInterval(function () {
          var lbl = document.getElementById("ctl00_ContentPlaceHolder1_lstViewFormulas_ctrl0_lblCountDown");
          var txt = document.getElementById("ctl00_ContentPlaceHolder1_lstViewFormulas_ctrl0_txtTimeMinutes");


  <asp:Button ID="buttStartTimer" runat="server" OnClientClick="javascript:countdown()" Text="Start" />
  <asp:Button ID="buttStopTimer" runat="server" OnClientClick="javascript:stopcountdown()" Text="Stop" />
  <asp:TextBox runat="server" ID="txtTimeMinutes" Text='<%#Eval("FormulaTiming")%>'></asp:TextBox>
  <asp:Label ID="lblCountDown" runat="server" Text=""></asp:Label>

その他の試み

  <%--<input type="button" onclick='countdown()'; value="Start" id="Start" />
  <input type="button" onclick='stopcountdown()'; value="Stop" id="Stop" />--%>
  <%--<input type="button" onclick='countdown(this.form.TimeMinutes, this.form.spCountDown)'; value="Start" id="Start" />
   <input type="button" onclick='stopcountdown()'; value="Stop" id="Stop" />--%>
  <%-- <input type="button" onclick='<%# Eval("FormulaTiming", "countdown({0});")%>' value="Start" id="Button2" />
  <input type="button" onclick='stopcountdown()'; value="Stop" id="Button3" />--%>
  <%--<input type="text" value='<%#Eval("FormulaTiming")%>' id="txtTimeMinutes" />--%>
4

1 に答える 1

0

代わりにjqueryを使用できますか:

すべてのボタンにクラスを指定し、jquery を使用してそのクラスを見つけます。

$(".myButtonClass").click(function() {
    var buttonID = $(this).attr('id');
    var listViewRowID = buttonID.substring(buttonID.lastIndexOf('_') + 1);
    updateLabel("ctl00_ContentPlaceHolder1_lstViewFormulas_ctr"+listViewRowID+"_lblCountDown")
}

次に、 updateLabel コマンドを記述して、入力ラベルを更新します

これはテストされていないことに注意してください(頭のてっぺんから)

于 2013-01-24T13:25:17.720 に答える