2013-04-11 79 views
2

我正在使用jquery tablesorter,似乎無法得到它的工作。我曾在其他解決方案中工作,但似乎無法在HTML5項目中複製它。Jquery tablesorter無法正常工作。它是否兼容HTML5?

以下代碼位於主頁面的標題內;

<script type="text/javascript" src="TableSorter/jquery-latest.js"></script> 
<script type="text/javascript" src="TableSorter/jquery.tablesorter.js"></script> 
<script type="text/javascript" src="TableSorter/jquery.tablesorter.min.js"></script> 
<script type="text/javascript" src="TableSorter/jquery.metadata.js"></script> 
<script type="text/javascript" src="TableSorter/jquery.tablesorter.pager.js" ></script> 

另外在母版頁中,我放置了Jquery。該表是動態創建與「ctl00_ContentPlaceHolder1_memberTable」

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#ctl00_ContentPlaceHolder1_memberTable").tablesorter(); 
    }); 
</script> 

前端代碼名:

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/SSASWeb.Master" 
    CodeBehind="MemberList.aspx.vb" Inherits="SSASWeb_HTML5.MemberList" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <h2> 
     Member List 
    </h2> 
    <div id="table" runat="server" style="margin-right: 50px" class="tablesorter"> 
    </div> 
</asp:Content> 

代碼來填充表:

Dim ScriptManager As ClientScriptManager = Page.ClientScript 
     Dim t As Table = HtmlHelper.ConvertToHtmlTable(ds.Tables(0)) 
     Dim i As Integer = 0 
     For Each row As TableRow In t.Rows 
      If i = 0 Then 
      i = i + 1 
      Continue For 
      End If 
      Dim strMemNo As String = row.Cells(0).Text 
      row.Cells(0).Text = "" 
      Dim a As New HtmlAnchor() 
      a.HRef = "NameAndAddress.aspx?member=" + strMemNo 
      a.InnerText = strMemNo 
      row.Cells(0).Controls.Add(a) 
     Next 
     t.ID = "memberTable" 
     table.Controls.Add(t) 

功能我內主叫來自後端代碼的呼叫:

Public Shared Function ConvertToHtmlTable(dt As DataTable) As Table 
    Dim table As New Table() 
    table.CssClass = "hovered tablesorter" 
    Dim tHead As New TableRow() 
    tHead.TableSection = TableRowSection.TableHeader 
    For Each col As DataColumn In dt.Columns 
     Dim cell As New TableCell() 
     cell.Text = col.ColumnName 
     tHead.Cells.Add(cell) 
    Next 
    table.Rows.Add(tHead) 
    For Each row As DataRow In dt.Rows 
     Dim tBodyRow As New TableRow() 
     tBodyRow.TableSection = TableRowSection.TableBody 
     For Each cell In row.ItemArray 
     Dim rowCell As New TableCell() 
     If Not IsDBNull(cell) Then 
      Dim dtValue As DateTime 
      If DateTime.TryParse(cell, dtValue) Then 
      rowCell.Text = dtValue.ToShortDateString() 
      Else 
      rowCell.Text = cell 
      End If 
     End If 
     tBodyRow.Cells.Add(rowCell) 
     Next 
     table.Rows.Add(tBodyRow) 
    Next 
    Return table 
    End Function 

當我去運行這個,並點擊標題,什麼也沒有發生,但我不知道我要去哪裏錯了。

謝謝!

+0

把代碼'$( 「#ctl00_ContentPlaceHolder1_memberTable」)的tablesorter();'之後的任何代碼您使用的是創造 「對飛」 的表格。 – j08691 2013-04-11 13:46:51

+0

我不能像.NET代碼那樣。我提供了代碼。 – Jacooobley 2013-04-11 13:47:48

+0

tablesorter絕對適用於html5文檔類型。 – 2013-04-11 15:10:58

回答

0

嗯,我有2個原因更多鈔票:

1º不使用:

<script type="text/javascript" src="TableSorter/jquery.tablesorter.js"></script> 

<script type="text/javascript" src="TableSorter/jquery.tablesorter.min.js"></script> 

在同一時間,只能選擇一個。

2º願你可以使用

$("[id$=memberTable]").tablesorter(); 
+0

試過這個,但沒有運氣,謝謝! – Jacooobley 2013-04-11 14:27:39

+0

檢查您的控制檯在鉻或Firefox,你得到什麼錯誤的JavaScript? – 2013-04-11 14:30:35

+0

問題是,我似乎不能得到一個JavaScript錯誤 – Jacooobley 2013-04-11 14:44:08