Saya memiliki baris tabel HTML dengan sel konten campuran yang disesuaikan sesuai kebutuhan. Saya ingin menambahkan baris ini secara dinamis ke Tabel HTML. Tetapi kesalahan muncul di js.

Fungsi php adalah sebagai berikut:

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);

Harap dicatat bahwa saya memanggil fungsi php di dalam Kode HTML untuk mengisi pelengkapan otomatis, datepicker, dan objek pilih.

Skrip JS untuk menambahkan <tr> ini ke dalam tabel saya adalah sebagai berikut:

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

Tangkapan layar pesan kesalahan browser seperti ini

screenshot of the error message

Bisakah saya mendapatkan bantuan untuk menyelesaikan bug ini.

0
Raky 27 Desember 2017, 19:49

1 menjawab

Jawaban Terbaik

Saya telah melakukan pendekatan yang berbeda. Di php saya mendeklarasikan variabel

<?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 dimodifikasi seperti ini

   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); 
}

Dan kodenya berfungsi dengan baik untuk saya. PS: JS Tidak mengizinkan carriage return dalam variabel var-nya. Jadi semua Elemen/Tag HTML harus bersebelahan.

0
Raky 28 Desember 2017, 09:43