2016-05-25 26 views
-1

私はphpを使用してテーブルを作成しています.2つの異なるポップアップボックスを表示することができる2つの画像があります。それぞれがテーブルです私はそれが重要だとは思わない。 (私は今上だテーブル行の詳細や注意事項を)私はPHPから移入権利データを取得するように、テーブル内でこれらの内部テーブルを維持する必要がテーブル内にポップアップボックスを作成しようとしています

私はディスプレイとしてポップアップを持っています: noneをクリックした後、jqueryで.show()を使用してポップアップを表示した。

私が好きでないのは、テーブルの行の下にあります。私はポップアップを表示するときに、私が見たくない非常に小さな行を追加します。ポップアップはposition:absoluteです。私がそれを相対的に作ったとき、余分な行は巨大なので、それはさらに悪いことです。

データが入力されたら、ここにHTMLがあります。 2番目のポップアップを削除しました。これは本当に同じことです。

<div class="container">   
    <div class="row"> 
     <div class="col-xs-12">     
      <table class="table table-striped table-bordered table-hover table-condensed"> 
       <thead>      
       ..... 
       </thead> 
       <tbody> 
       <tr> 
        <td> 
         <button class="notesExpanderButton"><img src='images/notes.jpg' title='notes' style="width:35px;height:25px;"></button> 
         <button class="detailsExpanderButton"><img src='images/details.png' title='details' style="width:35px;height:25px;"></button> 
        </td> 
        <td>Job 5</td> 
        <td>01/01/2015</td> 
        <td>Client Name</td> 
        </td>111 Somewhere Street</td> 
       ..... 
       </tr> 
       <td class="detailsOuter"> 
        <div class="detailsData" id=Job5> 
          <table class='table-borderless detailsTable'> 
           <thead> 
            <th colspan="4">Details: Job 5</th> 
           </thead> 
           <tbody> 
            .....    
           </tbody> 
          </table> 
        </div> 
       </td> 
       </tbody>  
      </table> 

     </div> 
    </div> 
</div> 
+0

あなたの質問に[mcve]を投稿してください。ブートストラップが含まれているように見えますが、CSSやJavaScriptはありません。 – j08691

答えて

0

テーブルが不正です。現在、このている:

<table> 
    <tr> 
    <td>...</td> 
    </tr> 
    <td>...</td> 
</table> 

td要素がない彼らと一緒に、tr内の要素である必要があります。何が欲しいのはこれです:

<table> 
    <tr> 
    <td>...</td> 
    <td>...</td> 
    </tr> 
</table> 

変更、サーバー側のコードが離れて行くべき正しいセルの位置と奇妙な空白文字の問題を持つテーブルを生成します。もちろん、スタイリングを変え続ける必要があるかもしれませんが、マークアップが有効であれば少なくともスタイリングはデバッグや調整が容易になります。

注:

</td>111 Somewhere Street</td> 

以上の無効なマークアップです:あなたはまた、この要素の開口tdタグのタイプミスを持っています。


この表のセル内のコンテンツのみが視覚的に表から分離され、それ自体、「ポップアップ」である場合けれども...、それはおそらく最初のテーブルセルに属していません場所。おそらくテーブルの外側にある独自の要素であるべきです。

通常、「ポップアップ」(または「モーダルdivs」)は、マークアップの最後の一部のコレクションに保持され、非表示になっています。

+0

手動でhtmlを編集していたので、無効なマークアップを無視してしまいました。間違っているのは、内部テーブルが​​内にあるだけですが、にはありません。私はもともとを持っていましたが、テーブルの余分な行を私に与えてくれたと思います。私はコピーしたいと思っていたhtmlのほうがいいと思っていました。そして、jqueryでそれを本文やテーブルの外のどこかに追加します。 – shoshana

+0

@shoshana:コンテンツが実際にテーブルの一部でない場合は、それをテーブルの外に置くことは確かです。なぜjQueryがそれを達成する方法になるのか、私は本当に話すことができません。質問には静的なHTMLしかないので、その場合は静的にHTMLを変更します。あなたはPHPがサーバー側で使用されていると言います。したがって、PHPがJavaScriptを使用するのではなくページを生成できると思います。 – David

+0

私はjqueryを言ったときに私はjavascriptを言うつもりだった。私は、テーブルを作成した後、私はテーブルの各行の適切なノートとコメントを出力していたように、私はテーブルの作成後に、PHPのすべてのポップアップタイプのデータをリループすることができたと思います。私が望むものを見つけるのを助けるために、(新しい)ポップアップテーブルにIDを含めるだけでいいです。代わりに、ポップアップをどこに残してもかまいませんが、javascriptでDOMの別の部分にコピーしてからshow()してください。私は大丈夫になると思う。ありがとうございました。 – shoshana

関連する問題