0

データリストがあり、データリストに追加されたdivのクリックでjavascriptを呼び出しています..データリストに追加されたdivのクリックでコントロール値を取得するにはどうすればよいですか

<asp:DataList ID="DataList1" runat="server">
      <ItemTemplate>
           <div id="metroaqui" class="divsub" runat="server" 
                onclick="javascript:getvalues(this);">
                <table>
                     <tr class="clstd">
                         <td>
                            <b>IP NO:-</b>
                          </td>
                          <td colspan="2" style="width: 20%">
                              <asp:Label runat="server" ID="ipnolable" 
                                   Text='<%# Eval("IpNo") %>'></asp:Label>
                          </td>
                          <td>
                              <b>PATIENT NO:-</b>
                          </td>
                          <td colspan="2">
                              <asp:Label runat="server" ID="Label1"
                                   Text='<%# Eval("PatientNo") %>'>
                              </asp:Label>
                           </td>
                       </tr>
                       <tr>
                       </tr>
                       <tr>
                       </tr>




</asp:DataList>
4

2 に答える 2

0

DataList 内のコントロールにアクセスするには、次の方法を試してください。

function getVal() 
{
  var datalist = document.getElementById('<%=DataList1.ClientID%>').childNodes[0]; 
  var tb = datalist.getElementsByTagName("input"); 

  for (var i=0;i<tb.length;i++) 
  {
    //TextBox
    if (tb[i].type=="text") 
    {
    alert(tb[i].value);
    }

    //DropDown
    if (tb[i].type=="select") 
    {
    alert(tb[i].options[tb[i].selectedIndex].value);
    }
  }
}
于 2013-08-31T10:05:14.027 に答える
0

document.getElementByIdコントロールから値を取得するために簡単に使用できます。
ID は実行時に変更されることに注意してください。

また、ブラウザでlabelレンダリングすることを忘れないでください。そのため、コントロールを確認する必要があります。spaninnerTextinnerHtml

ClientIDMode="static"サーバー コントロールの静的クライアント ID を利用できます。などのようasp:Label

于 2013-08-31T10:05:23.773 に答える