在javascript中获取datalist的Control值

时间:2013-08-31 09:36:20

标签: javascript asp.net

我有一个数据列表,我在数据列表中添加了div点击的javascript。 如何通过在datalist中添加我的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>

2 个答案:

答案 0 :(得分: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);
    }
  }
}

答案 1 :(得分:0)

您可以简单地使用document.getElementById来获取控件中的值 请注意,您的id将在运行时更改。

另请注意,label在浏览器上呈现为span,因此您必须检查控件的innerTextinnerHtml

您可以将ClientIDMode="static"的优势用于服务器控件的静态客户端ID。比如asp:Label等。