2016-10-02 3 views
0

HTML 페이지에서 동적으로 체크 박스를 표시하고 데이터베이스에서 값을 가져와야합니다.DIV의 Chaging innerHTML이 테이블 속성을 변경합니다.

내가 사용하는 트릭은 자바에서 전체 테이블 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을 사용하지 않고이 작업을 수행하는 다른 방법이 있습니까? 테이블의 생성

코드는

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'는 잘못되었습니다 .it는'document.getElementById' (id = 소문자) 여야하고'div.innerHTML'은 아마도'undefined'입니다. 더 많은 코드를 제공해야합니다 https://jsfiddle.net/uo2gjvxL/12/ – Merlin

+0

HTML을 생성하는 부분 코드를 제공하십시오 –

+0

메인 페이지에서 다음과 같이 간단하게 작성하십시오 .... div를 작성한 후 표를 작성하십시오

을 자바 문자열로 입력 한 다음 해당 테이블 내부에 을 동적으로 추가 한 다음 과 확인란을 여러 번 반복합니다. 데이터베이스에있는 체크 박스가 동적이고 변경할 수 있습니다. – Aiden

답변

1

그것은 HTML 코드를 서버 측을 만들 수있는 가장 좋은 방법이 아니다이다. 문서에 테이블이있을 것이라 확신한다면 문서 구조에 포함시키고 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

관련 문제
을 입력하고 확인란을 선택하십시오. 내가