2017-12-27 6 views
0

필자는 필요에 따라 사용자 정의 된 혼합 컨텐츠의 셀이있는 HTML 테이블 행을 가지고 있습니다. 이 행을 HTML 테이블에 동적으로 추가하려고합니다. 하지만 오류가 js에 나타나고 있습니다. 나는 자동 완성, 날짜 선택기를 선택 객체를 작성하기위한 HTML 코드 내에서의 PHP 함수를 호출하고 있습니다PHP의 HTML 테이블에 사용자 정의 테이블 행을 추가하십시오.

function addRowtoTable(){ 
    $tblRow = '<tr> 
       <td><input type="checkbox" name="record"></td>  
       <td for="section"><select name=\'section\' id=\'section\' class=\'form-control\' >  
          <?php echo fill_sectionName($conn, $userRow[\'userName\']); ?></select></td> 
       <td for="fileRef"><input name ="fileRef" id="fileRef" class="form-control ui-autocomplete-input" autocomplete="on" placeholder="Enter File Reference"></td> 
       <td for="datepicker"><input class=\'form-control\' type="text" id="datepicker" placeholder="Mail Date"></td>     
       <td for="section"><?php echo fill_SecurityClass(); ?></td>  
       <td for="section"><?php echo fill_Precedence(); ?></td> 
       <td for="section"><?php echo fill_AppointmentList($conn); ?></td> 
       <td for="section"><input name ="address1" id="address1" class="form-control ui-autocomplete-input" autocomplete="on" placeholder="Enter Stn Name"></td> 
       <td for="section"><?php echo fill_ModeOfDespatch(); ?></td> 
      </tr> 
        '; 
    return ($tblRow); 

을 다음과 같이

PHP 함수입니다. 다음과 같이 내 테이블에이 <tr>를 추가 할 수

JS 스크립트입니다 :

$('#addtblRow').click(function() { 
    var tblRowNew = <?php echo addRowtoTable()?> ; 
    $("table tbody").append(tblRowNew); 
    }); 

브라우저의 오류 메시지의 스크린 샷은 내가 할 수있는이

screenshot of the error message

같다 이 버그를 해결하는 데 도움이됩니다.

답변

0

나는 다른 접근 방식을 만들었습니다. PHP에서 나는 변수

<?php 
    global $sectionNames; 
    global $Prece; 
    global $AddeeAppt; 
    global $ModesOfDes; 

    $sectionNames = fill_sectionName($conn, $userRow["userName"]); 
    $Prece = fill_Precedence(); 
    $AddeeAppt = fill_AppointmentList($conn); 
    $ModesOfDes = fill_ModeOfDespatch($conn); 
?> 

$("#addtblRow").click(function(){ 
     var numofrows = $("#num_rows").val(); 
     //window.alert(numofrows); 
     for(var i=0;i<numofrows ;i++){ 
     addNewRow(); 
     } 
    }); 

JS이

function addNewRow(){ 
    // 
    var trd=""; 
    trd +="<tr>"; 
    trd +="<td><input type='checkbox' name='record' class='form-control' ></td>"; 
    trd +="<td for='section'><select name='section' id='section' class='form-control'><?php echo $sectionNames ?> </select></td>"; 
    trd +="<td><input name='fileRef' class='form-control'></td>"; 
    trd +="<td for='datepicker'><input class='form-control' type='text' id='datepicker' placeholder='Mail Date'></td>"; 
    trd +="<td><?php echo $Prece ?></td>"; 
    trd +="<td><?php echo $AddeeAppt ?></td>"; 
    trd +="<td><input name='Address' class='form-control'></td>"; 
    trd +="<td><?php echo $ModesOfDes ?></td>"; 
    trd +="</tr>"; 
    $("table tbody").append(trd); 
} 

같이 수정하고 코드 나를 위해 잘 작동을 선언했다. 추신 : JS 해당 var 변수에 캐리지 리턴을 허용하지 않습니다. 따라서 모든 HTML 요소/태그는 연속적이어야합니다.

관련 문제