2016-10-02 4 views
0

HTMLページで動的にチェックボックスを表示し、その値をデータベースから取得する必要があります。DIVのCharging innerHTMLはテーブルプロパティを変更します

私が使用したトリックはJavaでテーブル全体のHTMLを作成することですし、私はこの

var div = document.getElementByID("div").innerHTML = htmlCode; 

行うAJAXを使用したが、問題は

htmlCode変数に

は、HTMLが

<table width="100%"> 
    <tr> 
     <td width="50%">...... 
のようです

が、私はdiv.innerHTMLをチェックするとき、それは

<TABLE width="100%"> 
<TBODY> 
    <TR> 
     <TD width="50%"> 
      <?xml:namespace prefix = .... 
のように示してい

なぜ大文字になり、なぜxml:namaesapceプレフィックスが追加されたのですか?

これは、表が正しく表示されないため、問題を引き起こします。

innerHTMLを使用せずにこれを行うには他の方法がありますか?

テーブルを生成するためのコードは、それは、HTMLコードのサーバー側を作成するためのベストプラクティスではありません

String html = "<table width=\"100%\">"; 

for (Iterator it = lookupList.iterator(); it.hasNext();) 
    { 
     HashTree lookupElement = (HashTree) it.next(); 
     String code = lookupElement.getChildTagValue ("CODE"); 
     String text = lookupElement.getChildTagValue ("TEXT"); 

     String labelText = ""; 

      if(indexLookupElement == 0) 
       labelText = "First Checkbox label"; 

      html = html + "<tr><td width=\"50%\" >" + 
      + 
        "<input type=\"checkbox\" id=\"item" + code + "\" />" + 
        "<html:label " +  
         "id=\"_Description\"" + 
         "name=\"_Description\"" + 
         ">" + text + 
        "</html:label>" +      


      "<td width=\"50%\" >" + 
      "</td></tr>"; 

      indexLookupElement += 1; 
    } 

html = html + "</table>"; 

おかげで、

エイデン

+1

'document.getElementByID'は間違っていますが、' document.getElementById'(id = lowercase)と 'div.innerHTML'はおそらく' undefined'です。より多くのコードを提供する必要がありますhttps://jsfiddle.net/uo2gjvxL/12/ – Merlin

+0

htmlを生成するコードの部分を入力してください –

+0

私はメインページでこれを好きです.... .... divを作成してから、テーブル<テーブル幅を作成してください= \ "100%\">をJava文字列で使用し、そのテーブルの中に動的にを追加し、次に​​を追加し、次にチェックボックスのコードを追加します。私はとチェックボックスをデータベース内のチェックボックスと同じくらい繰り返します。これは動的で変更可能です – Aiden

答えて

1

です。ドキュメント内にテーブルがあることが確かな場合は、ドキュメントの構造の一部とし、Javaコードの変数のみをフィードする方がよいでしょう。テーブルが条件付きであっても、変数を使用して非表示/非表示を検討することがあります。私はあなたのウェブページのHTMLコードが正しい場合、このアプローチがあなたの問題を解決すると信じています。

更新

このようなテストを:あなたのコードで

html = html + "<tr><td width=\"50%\"><input type=\"checkbox\" id=\"item" + code + "\" /><label id=\"_Description\" name=\"_Description\">" + text + "</label></td><td width=\"50%\"></td></tr>"; 

あなたはTDの終了タグが欠落していると私はいくつかの変更を行いました。これで問題が解決するかどうかを確認してください。

+0

問題はデータベース内のチェックボックスの名前/ラベルを動的に取得することです。ユーザーによっていつでも変更できます。チェックボックスのデータベースラベル/名前を選択して表示する必要があります。したがって、その数は固定されていません。例えばブック名、ブック作成者.....などのユーザーがブックの著者をテーブルから削除してから、そのブック作成者のチェックボックスを作成しないでください – Aiden

+0

コードで質問を更新しました – Aiden

関連する問題