如何在单击 PHP 中的按钮时动态插入列表框?

Posted

技术标签:

【中文标题】如何在单击 PHP 中的按钮时动态插入列表框?【英文标题】:How to insert list box dynamically on click of a button in PHP? 【发布时间】:2018-01-02 23:54:35 【问题描述】:

我想创建一个表格,用于向数据库中插入多行数据。我有一个可以插入数字的字段,然后单击“添加”按钮。没有记录将添加到表中。

我现在可以根据插入的行数添加记录数。但我希望 Floor_id 字段是连续数字,而它只是 copyig 第一个字段。

任何人都可以指导如何将第一个字段作为增量数字。

代码片段

function addRow(tableID,num)
			
			 
			var num = $("#rownum").val();
			  $("#dataTable tr").slice(2).remove();
			for (var n = 2; n <= num; n++) 
			
					var table = document.getElementById(tableID);
					var rowCount = table.rows.length;
					var row = table.insertRow(rowCount);
					var colCount = table.rows[0].cells.length;
					for(var i=0; i<colCount; i++) 
					
						var newcell	= row.insertCell(i);
						newcell.innerhtml = table.rows[1].cells[i].innerHTML;
						//alert(newcell.childNodes);
						switch(newcell.childNodes[1].type) 
						
							case "text":
									newcell.childNodes[1].value = "";
									break;
							case "select-one":
									newcell.childNodes[1].selectedIndex = 0;
									break;
						
					
			
		
<HTML>
<HEAD>
	<TITLE> Add/Remove dynamic rows in HTML table </TITLE>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

</HEAD>
<BODY>
<div class="results"></div>
		
		<fieldset style="width: 1600px;">
			<legend><b>Building Layout Info</b></legend>
			<TABLE id="dataTable"  border="1">
			<tr>
				<th>Floor_Id</th>
				<th>Front_F_Mark </th>
				<th>Rear_F_Mark</th>
				<th>Floor_Type</th>
			</tr>
			<TR>
				 <td><input type= "text" name= "Floor_Id[]" value="1"  /> </td>
				 <td><input type= "text" name= "Front_F_Mark[]"  /> </td>
				 <td><input type= "text" name= "Rear_F_Mark[]" /> </td></td>
				 <td><select  name="Floor_Type[]" id="Floor_Type"  > 	<br />
							 <option value="">Floor_Type </option>
							 <option value="Normal">Normal</option> 
							 <option value="Hidden">Hidden</option> </select>  
						</select>
				 </td>
			</TR>
<labe>Number of Records<input class="row" type='text' id='rownum' name='rownum' /> </label>
	<INPUT type="button" value="Add Row" onclick="addRow('dataTable');" />
</TABLE>
</body>

</html>

【问题讨论】:

欢迎来到 SO。请访问 help center 并参观以了解询问内容和方法。提示:邮政编码和努力—— @bub 感谢您提到这一点。更新相同。 @ItamarG3 你能帮忙看看如何添加列表框,因为它在这里只添加文本框。我的列表框正在通过 PDO 获取数据.. 【参考方案1】:

我能够通过以下更改来实现这一点。

<HTML>
<HEAD>
<TITLE> Add/Remove dynamic rows in HTML table </TITLE>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

 </HEAD>
 <BODY>
  <div class="results"></div>

    <fieldset style="width: 1600px;">
        <legend><b>Building Layout Info</b></legend>
        <TABLE id="dataTable"  border="1">
        <tr>
            <th>Floor_Id</th>
            <th>Front_F_Mark </th>
            <th>Rear_F_Mark</th>
            <th>Floor_Type</th>
        </tr>
        <TR>
             <td><input type= "text" name= "Floor_Id[]" value="1"  /> </td>
             <td><input type= "text" name= "Front_F_Mark[]"  /> </td>
             <td><input type= "text" name= "Rear_F_Mark[]" /> </td></td>
             <td><select  name="Floor_Type[]" id="Floor_Type"  >    <br />
                         <option value="">Floor_Type </option>
                         <option value="Normal">Normal</option> 
                         <option value="Hidden">Hidden</option> </select>  
                    </select>
             </td>
        </TR>
       <labe>Number of Records<input class="row" type='text' id='rownum' name='rownum' /> </label>
      <button type="button" class='loadfloor' style="float: right;"> Load Floors</button>
      </TABLE>   
     </form>
     <script>   
     $(".loadfloor").on('click',function()
    var num = $("#rownum").val();
    $("#dataTable tr").slice(2).remove();
    for (var i = 2; i <= num; i++) 
    
        var data = "<tr><td><input type='text' id='Floor_Id"+i+"' name='Floor_Id[]' value = "+i+" /></td><td><input type='text' id='Front_F_Mark"+i+"' name='Front_F_Mark[]'/></td><td><input type='text' id='Rear_F_Mark"+i+"' name='Rear_F_Mark[]'/></td><td><select id='Floor_Type"+i+"' name='Floor_Type[]'><option value='null'>Floor_Type</option><option value='Normal'>Normal</option><option value='Hidden'>Hidden</option></td></tr>";
        $("#dataTable").append(data);
    
 ); 
  </script>
 </body>
 </html>

【讨论】:

以上是关于如何在单击 PHP 中的按钮时动态插入列表框?的主要内容,如果未能解决你的问题,请参考以下文章

用户单击删除按钮时如何删除动态控件(文本框和按钮)

单击 jquery-tabledit 中的编辑按钮时如何启用选择框?

如何在c#中单击按钮时将datagridview值插入数据库

如何将文本框上键入的数据从模态插入数据库

如何插入切片器 如何在excel表格中插入切片器

如何通过单击列表框行项将搜索结果返回到文本框