在PHP中将自定义表行添加到HTML表

问题描述 投票:0回答:1

我有一个HTML表格行,其中包含根据需要定制的混合内容单元格。我想将此行动态添加到HTML表。但是js中出现了一个错误。

php函数如下

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

请注意,我在HTML代码中调用php函数来填充自动完成,日期选择器和选择对象。

将这个<tr>添加到我的表中的JS脚本如下:

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

浏览器错误消息的屏幕截图如下所示

screenshot of the error message

我能帮忙解决这个问题。

html row add
1个回答
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); 
}

代码对我来说很好。 PS:JS不允许在其var变量中回车。所以所有HTML元素/标签都是连续的。

© www.soinside.com 2019 - 2024. All rights reserved.