0

データベースからの情報で満たされた html テーブルがあります。列を表示/非表示にするために、この投稿で1行の方法を実装しました Hide/Show Column in an HTML Table

メソッドを実装する私のコードは次のようになります。

$("#ID").change(function(){
if ($(this).is(':checked'))
{
    $('th:nth-child(2)').hide("fast");
    $('td:nth-child(2)').hide("fast");
} else {
    $('th:nth-child(2)').show("fast");
    $('td:nth-child(2)').show("fast");
    }

});

それ以外はうまく機能しますが、テーブルに列を再度表示すると、セルの幅などがめちゃくちゃになります。拡張するように設定する方法があるかどうか疑問に思っていましたか?

これが何が起こっているかの写真です:

表のセルが画像を展開しない

4

1 に答える 1

0

具体的には、上記のサンプルを使用すると、問題の原因がわかりません。

問題は hide() メソッドにある可能性がありますが、スクリプトを使用して同じアイデアでいくつかの異なる反復を試みましたが、同じ動作を再現することはできません。

ただし、いくつかの修正...

  1. 上記の「display:hidden;」に関するコメントは無視してください。...そのような属性はありません。その人は「visibility:hidden」を参照しようとしていた可能性があると思いますが、それは内容を非表示にしますが、スペースは消えません...したがって、内容が見えない空の列がまだそこにあるでしょう。
  2. ハンドラーを一連のチェックボックスに設定している場合は、その方法を最適化することを検討してください。同様のことを達成できる別の方法を示す jsfiddle を作成しました。ご理解いただけるかどうかお確かめください。ご不明な点がございましたら、喜んでお答えいたします。

http://jsfiddle.net/mori57/znKUJ/

マークアップと CSS の一部を別の jsFiddle に投稿したい場合は、喜んでそれを調べて、より具体的なガイダンスも提供します。

于 2012-10-05T23:03:17.377 に答える