Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript判断页面中有多少数据列表_Javascript_Asp.net_Html - Fatal编程技术网

如何使用JavaScript判断页面中有多少数据列表

如何使用JavaScript判断页面中有多少数据列表,javascript,asp.net,html,Javascript,Asp.net,Html,这是一个ascx页面,代码在aspx中。它将显示多个数据列表。如何通过JavaScript获取页面中数据列表的数量 <asp:DataList ID="TF_DataList" runat="server" RepeatDirection="Vertical" OnItemCreated="TF_Datalist_ItemCreated"> <ItemTemplate> <table style="text-align:left;">

这是一个ascx页面,代码在aspx中。它将显示多个数据列表。如何通过JavaScript获取页面中数据列表的数量

<asp:DataList ID="TF_DataList" runat="server" RepeatDirection="Vertical" OnItemCreated="TF_Datalist_ItemCreated">
   <ItemTemplate>
      <table style="text-align:left;">
        <tr>
          <td valign="top" align="left" nowrap="nowrap">
            <asp:RadioButton ID="lbTrue" runat="server" GroupName="ans" Text="T" onclick="Radcheck();"
            />
            <asp:RadioButton ID="lbFalse" runat="server" GroupName="ans" Text="F" onclick="Radcheck();"
            />
          </td>
          <td>
            &nbsp;&nbsp;
          </td>
          <td runat="server" id="AnswerContentTD" style="text-align: left">
            <asp:Label ID="lblAnswerText" runat="server" Text='<%# Eval("AnswerText")%>'>
            </asp:Label>
          </td>
        </tr>
      </table>
   </ItemTemplate>
   <ItemStyle HorizontalAlign="Left">
   </ItemStyle>
</asp:DataList>

不会为自身生成任何html标记。因此,您只能定义页面上
元素的数量。为它们添加一个
名称
属性,并对具有该名称的元素进行计数。

您可以做的最好的工作就是解决这个问题。为页面中的每个数据列表指定一个
CssClass=“mydatalist”
。请记住这些事情

  • 您所有的
    asp:DataList
    必须具有此
    CssClass
  • 只有
    asp:DataList
    必须具有此
    CssClass
  • Javascript实现

    function FindDataLists(){
        var datalists = document.getElementsByClassName("mydatalist");
        return datalists ? datalists.length : 0;
    }
    // fallback for LTE IE8
    if (!document.getElementsByClassName) {
        document.getElementsByClassName = function (className, parentElement) {
            if (Prototype.BrowserFeatures.XPath) {
                var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
                return document._getElementsByXPath(q, parentElement);
            } else {
                var children = ($(parentElement) || document.body).getElementsByTagName('*');
                var elements = [],
                    child;
                for (var i = 0, length = children.length; i < length; i++) {
                    child = children[i];
                    if (Element.hasClassName(child, className)) elements.push(Element.extend(child));
                }
                return elements;
            }
        };
    }
    

    您正在尝试获取数据列表中的行数/记录数吗?如果是这样,您可以使用jQuery来计算/获取具有特定名称或类的所有元素。如果绑定到列表/数据表等,您还可以从代码中获取“总计”。。。
    function FindDataLists(){
        var datalists = document.getElementsByClassName("mydatalist");
        return $(".").length;
    }