1
我有一个表格中的动态表,其中取决于用户输入行将被添加到表中。表格列有ID,名称,游戏类型(动态列表从数据库表中获取)。如何将动态列表添加到Jquery中HTML表格的每一行?
现在,当用户在学生领域的号任意数量和点击加载游戏按钮,我期待这个表应该扩大到许多行,以便用户可以在字段中插入数据。
它的工作也是如此,但问题是表中的第三个字段包含一个列表。我无法理解如何在表格的每一行填充game_id字段的列表。
代码
<?php
$db = new PDO("sqlite:c:/sqlite/games.db");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query_game = $db->prepare("select distinct games as di from outdoor_games;");
$query_game->execute();
$data = $query_game->fetchAll();
?>
<!DOCTYPE html>
<html>
<head>
<title>Access form</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script language="JavaScript"> </script>
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
<h2 style="text-align:center;">Test Form</h2>
<fieldset style="width: 1000px;">
<legend><b> Source Profile</b></legend>
<TABLE id="STable" width="350px" border="1">
<tr>
<th bgcolor="WHITESMOKE">Student_ide</th>
<th bgcolor="WHITESMOKE">Student_Name</th>
<th bgcolor="WHITESMOKE">Game Id </th>
</tr>
<TR>
<td><input type= "text" name= "Stu_Id[]" value=1 /> </td>
<td><input type= "text" name= "Stu_Name[]" /> </td>
<td><select name= "Game_id[]" />
<option value=""><b>Games</b></option>
<?php foreach ($data as $row){echo '<option value="' . $row['di'] . '">' . $row ['di'] . '</option>';} ?>
</select>
</tr>
</td>
</TR></TABLE></br>
<label>No. of Students <input type= "text" id="s_cnt" name= "d_Count"></label>
<button type="button" class='loadgames' >Load Games</button>
<input type="submit" name ="add_SP" value ="Add Student Info" style="float: right;" /> </br> </br>
</fieldset ></br> </br>
<input type="submit" name ="exit" value ="EXIT" />
</form>
<script>
$(".loadgames").on('click',function(){
var num = $("#s_cnt").val();
$("#STable tr").slice(2).remove();
for (var i = 2; i <= num; i++)
{
var data = "<tr><td><input type='text' id='Stu_Id"+i+"' class='Stu_Id' name='Stu_Id[]' value = "+i+" /></td><td><input type='text' id='Stu_Name"+i+"' name='Stu_Name[]' /></td> <td><select name= 'Game_id[]' /><option value=""><b>Games</b></option>"+<?php foreach ($data as $row){echo '<option value="' . $row['di'] . '">' . $row ['di'] . '</option>';} ?>+"</select></tr>";
$("#STable").append(data);
}
});
</script>
</body>
</html>
我很抱歉,我是新来的论坛....有人可以帮助我了解为什么这个问题被拒绝投票,以便我可以更正或更好地解释它。 – binee
嗨,欢迎来到SO。你的问题可能被低估了,因为它不清楚“我希望列表添加到每一行”很难理解。我会研究[如何创建一个最小的,可验证的示例](https://stackoverflow.com/help/mcve) - 只是一个简单的表格和您试图对其执行的操作,可能与代码无关你的实际项目。祝你好运! – theFunkyEngineer
@theFunkyEngineer,谢谢你提到...我已经更新了这个问题。 – binee