我有一個CGI腳本,可以以任意順序生成任意數量的行的HTML表格。如何在沒有迭代的情況下篩選HTML表格中「已標記」行的子集?
每行是一個或更多子集的成員,並且總共有26個子集(26個代表小的相對常量)。
在我生成頁面時,我知道每行所屬的哪些子集,並且可以以任何必要的方式標記它們。
然後,我希望在頁面上提供26個按鈕,用戶可以用它們中的任何一個按鈕將表格過濾到該行子集。行的出現順序相對於彼此顯着,但通過隱藏不屬於用戶期望查看的子集的行,不會丟失任何信息。
第一個優先級是過濾的計算是在客戶端完成的,而不是在服務器端完成的,並且客戶端不會重新請求頁面,因爲它的大小很重要,而且服務器非常繁忙的東西。 (閱讀爲:Javascript,對嗎?)頁面不經常請求,但通常會爲每個頁面請求請求許多篩選操作。
第二個優先級是客戶端過濾儘可能高效地完成。數據集非常大。
第三個優先級是儘可能廣泛的瀏覽器互操作性。
我不是任何一個網絡程序員,如果你不能告訴。
我最初試圖通過將每個標記表示爲CSS類,根據需要爲每行分配多個類,然後使用JavaScript修改CSS定義來做到這一點,但它開始讓我頭疼。如果這有效,我無法弄清楚。
這不會對IE6和IE7的工作?因爲它很性感。 – Maarx
他們不接受'table-row'作爲'display'值,但(據我所知)''block'正常工作。我現在沒有ie6來檢查,聲明'{display:block; display:table-row}'可能只是工作,如果不是的話 - 還有條件註釋或其他東西。 – Leonid
而不是'display:none'和'display:table-row',或許有時'visibility:collapse'和'visibility:visible'更合適,因爲它不會強制重新佈局(參見http:// www.w3.org/TR/CSS2/tables.html#dynamic-effects)。 – equaeghe