1

itemtemplateとalternatetemplateを使用して、リピーターを使用してテーブルを作成しました。アイテムテンプレートはtabelrowタグを作成し、交互のテンプレートはtablerowタグを閉じます。

これが例です(コードをさらに下に提供します)
セル1から3はitemtemplateによって作成され、4から6は交互のテンプレートで作成されます。

セル1〜3にはdata_id5があります
セル4〜6にはdata_id2があります
次の行
セル1〜3にはdata_id7があります
セル4〜6にはdata_id3があります

このように見えますリピーターで最初のループを作成しました
| Cell1 | _Cell2_ | Cell3 | _Cell4_ | Cell5 | _Cell6_ |
リピーターで2番目のループを作成
| Cell1 | _Cell2_ | Cell3 | _Cell4_ | Cell5 | _Cell6_ |

最終結果| Cell1 | _Cell2_ | Cell3 | _Cell4_ | Cell5 | _Cell6_ | | Cell1 | _Cell2_ | Cell3 | _Cell4_ | Cell5 | _Cell6_ |

私の質問は、Jqueryで特定のTDを非表示にしたいということです。data-id = 2のすべてのTD、つまりセル4から6の最初の行を非表示にしたいとします。

テーブル構造を壊さずにそれを達成するにはどうすればよいでしょうか。このようにすべてを移動するのが最善です。

セル4〜6の最初の行を削除します

| Cell1 | _Cell2_ | Cell3 | _Cell4_ | Cell5 | _Cell6_ |
| Cell1 | _Cell2_ | Cell3 | _Cell4_ | Cell5 | _Cell6_ |

これは私にとって削除後の外観です
Cell1 | _Cell2_ | Cell3 |
| Cell1 | _Cell2_ | Cell3 | _Cell4_ | Cell5 | _Cell6_ |

このように見せたい
| Cell1 | _Cell2_ | Cell3 || Cell1 | _Cell2_ | Cell3 |
| Cell4 | _Cell5_ | Cell6 |

それも可能ですか?

これが私のコードです。

    <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 に答える