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渲染,span所以你必须检查你innerTextinnerHtml控制。

您可以利用ClientIDMode="static"服务器控件的静态客户端 ID。之类asp:Label

于 2013-08-31T10:05:23.773 回答