1

我用中继器创建了一个表,我使用 itemtemplate 和alternatingtemplate。项目模板创建tablerow标记,交替模板关闭tablerow 标记

这是一个示例(我将在下面提供代码)
单元格 1 到 3 由 itemtemplate 创建,而 4 到 6 则由交替模板创建。

单元格 1-3 具有 data_id 5
单元格 4-6 具有 data_id 2
下一行
单元格 1-3 具有 data_id 7
单元格 4-6 具有 data_id 3

看起来像这样用中继器创建了第一个循环
| 单元 1 |_单元2_ | 细胞3 |_细胞4_ | 细胞5 |_细胞6_ |
使用中继器创建第二个循环
| 单元 1 |_单元2_ | 细胞3 |_细胞4_ | 细胞5 |_细胞6_ |

最终结果 | 单元 1 |_单元2_ | 细胞3 |_细胞4_ | 细胞5 |_细胞6_ | | 单元 1 |_单元2_ | 细胞3 |_细胞4_ | 细胞5 |_细胞6_ |

我的问题是我也想用 Jquery 隐藏某些 TD。假设我想隐藏 data-id=2 的所有 TD,即第一行的单元格 4 到 6。

我怎样才能在不破坏表结构的情况下做到这一点,最好是像这样移动所有东西。

去掉第一行的第 4 到 6 个单元格

| 单元 1 |_单元2_ | 细胞3 |_细胞4_ | 细胞5 |_细胞6_ |
| 单元 1 |_单元2_ | 细胞3 |_细胞4_ | 细胞5 |_细胞6_ |

这就是我移除后的样子..
| 单元 1 |_单元2_ | 细胞3 |
| 单元 1 |_单元2_ | 细胞3 |_细胞4_ | 细胞5 |_细胞6_ |

我希望它看起来像这样
| 单元 1 |_单元2_ | 单元3 || 单元 1 |_单元2_ | 细胞3 |
| 单元4 |_单元5_ | 细胞 6 |

这甚至可能吗?

这是我的代码..

    <asp:Repeater ID="Repeater1" runat="server">
    <HeaderTemplate>

    <table cellspacing="0">
    <thead>
    <tr>
     <th scope="col" abbr="Sidor/Artiklar" class="nobg">Sidor/Artiklar</th>
     <th scope="col" abbr="Dual 1.8GHz">MozRank</th>
     <th scope="col" abbr="Dual 1.8GHz">PR</th>
     <th scope="col" abbr="Dual 1.8GHz">Fri tillgång</th>
     <th scope="col" abbr="Dual 2GHz">30 Artiklar(1 om dagen)</th>
     <th scope="col" colspan="2" abbr="Dual 2.5GHz">Välj själv</th>
     <th scope="col" abbr="Sidor/Artiklar" class="nobg">Sidor/Artiklar</th>
     <th scope="col" abbr="Dual 1.8GHz">MozRank</th>
     <th scope="col" abbr="Dual 1.8GHz">PR</th>
     <th scope="col" abbr="Dual 1.8GHz">Fri tillgång</th>
     <th scope="col" abbr="Dual 2GHz">30 Artiklar(1 om dagen)</th>
     <th scope="col" colspan="2" abbr="Dual 2.5GHz">Välj själv</th>
    </tr>
    </thead>
    </HeaderTemplate>

     <AlternatingItemTemplate>

    <th scope="row" class="spec"><%# DataBinder.Eval(Container.DataItem, "namn_domain")%> </th>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'> 
    <%# DataBinder.Eval(Container.DataItem, "moz_domain")%>
    </td>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'> 
    <%# DataBinder.Eval(Container.DataItem, "pr_domain")%>       
    </td>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'> 
    <input type='<%# DataBinder.Eval(Container.DataItem, "type_domain")%>' name='<%# DataBinder.Eval(Container.DataItem, "idtag_domain")%>' value='<%# DataBinder.Eval(Container.DataItem, "faccess_domain")%>' onclick="calculatePrice();disableTB(this.name);" /> "Fri tillgång" 
    </td>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'>
    <input type="radio" name='<%# DataBinder.Eval(Container.DataItem, "idtag_domain")%>' value='<%# DataBinder.Eval(Container.DataItem, "monthly_domain")%>' onclick="calculatePrice();disableTB(this.name);" /> "En artikel om dagen (30/mån)"
    </td>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'>
    <input type="radio" name='<%# DataBinder.Eval(Container.DataItem, "idtag_domain")%>' value="0"  onclick="calculatePrice();enableTB(this.name, this.checked)" />  "Skriv ditt antal själv"
    </td>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'>
    <input type="text"  name='<%# DataBinder.Eval(Container.DataItem, "moz_domain")%>' id='<%# DataBinder.Eval(Container.DataItem, "idtag_domain")%>'  Enabled="false" Width="40px" onkeyup="calculatePrice()" style="background-color:#eeeeee" /> 
    </td>

    </tr>
    </AlternatingItemTemplate>

    <ItemTemplate>


    <tr>

    <th scope="row" abbr="Model" class="spec"><%# DataBinder.Eval(Container.DataItem, "namn_domain")%>   </th>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'>
    <%# DataBinder.Eval(Container.DataItem, "moz_domain")%>
    </td>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'>
    <%# DataBinder.Eval(Container.DataItem, "pr_domain")%>       
    </td>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'>
    <b></b>
    <input type='<%# DataBinder.Eval(Container.DataItem, "type_domain")%>' name='<%# DataBinder.Eval(Container.DataItem, "idtag_domain")%>' value='<%# DataBinder.Eval(Container.DataItem, "faccess_domain")%>' onclick="calculatePrice();disableTB(this.name);" /> "Fri tillgång" 
    </td>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'>  
    <input type="radio" name='<%# DataBinder.Eval(Container.DataItem, "idtag_domain")%>' value='<%# DataBinder.Eval(Container.DataItem, "monthly_domain")%>' onclick="calculatePrice();disableTB(this.name);" /> "En artikel om dagen (30/mån)"
    </td>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'> 
    <input type="radio" name='<%# DataBinder.Eval(Container.DataItem, "idtag_domain")%>' value="0"  onclick="calculatePrice();enableTB(this.name, this.checked)" />  "Skriv ditt antal själv"
    </td>
    <td class="alt" data_id='<%# DataBinder.Eval(Container.DataItem, "pr_domain")%>'>
    <input type="text"  name='<%# DataBinder.Eval(Container.DataItem, "moz_domain")%>' id='<%# DataBinder.Eval(Container.DataItem, "idtag_domain")%>'  Enabled="false" Width="40px" onkeyup="calculatePrice()" style="background-color:#eeeeee" /> 
    </td>



    </ItemTemplate>
    <FooterTemplate>
    </table>
    </FooterTemplate>
    </asp:Repeater>

这是我的 jquery,只是弄乱了理解函数,所以这段代码显然不是正确的
函数 hidetd() {

for(var i = 0; i < 2; i++) {
    $("[data_id=" + i + "]").hide();
}
}
4

1 回答 1

1

您的情况不需要for循环。下面的 jQuery 代码片段将隐藏所有属性data_id = 2的td元素

<script type="text/javascript">
  var i = 2;
  $(document).ready(function() {
    $("td[data_id='"+ i +"']").hide();
  });
</script>
于 2012-08-31T22:53:54.673 回答