javascript - 使用 jquery 中的表单将值插入到表中

标签 javascript jquery html

仅将第一个给定值插入表中。变量i用于递增表中tr的索引值,它在递增但值没有插入。其他的就不添加了。不明白为什么。我是 jquery 新手。

<!DOCTYPE html>
<html>
<head>
<title>My first Page</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
var i=0;

$(document).ready(function(){
  $("#hello").click(function(){
var a=$("<td></td>").text($("#test1").val());
var b=$("<td></td>").text($("#test2").val());
var c=$("<td></td>").text($("#test3").val());
var d=$("<td></td>").text($("#test4").val());
var e=$("<td></td>").text($("#test5").val());
$($("table tr").eq(i)).after(e).after(d).after(c).after(b).after(a);
i=i+1;
  });
});

</script>
</head>
<body>
<div>
<h1>Hello Talib</h1>
<div>IT</div>
<div>WILL</div>
<div>DISAPPEAR</div>
</div>
First Name: <input type="text" value="fname" id ="test1"><br>
Last Name: <input type="text" value="lname" id="test2"><br>
Roll Number: <input type="text" value="rnum" id="test3"><br>
Faculty:
<select name="Faculty" id="test4">
<option value="CE">Computer Engineering</option>
<option value="BE">Biomedical Engineering</option>
<option value="CV">Civil Engineering</option>
<option value="TE">Telecommunication Engineering</option>
</select>
<br>
Semester:
<input type="radio" value="1st" name="sem" id="test5">1st
<input type="radio" value="2nd" name="sem" id="test5">2nd
<input type="radio" value="3rd" name="sem" id="test5">3rd
<input type="radio" value="4th" name="sem" id="test5">4th
<input type="radio" value="5th" name="sem" id="test5">5th
<input type="radio" value="6th" name="sem" id="test5">6th
<input type="radio" value="7th" name="sem" id="test5">7th
<input type="radio" value="8th" name="sem" id="test5">8th
<br>
<input type="submit" value="Submit"id="hello">

<table border="1" style="border: solid 1px black">
<tr>
<td>First Name</td>
<td>Last Name</td>
<td>Roll Number</td>
<td>Faculty</td>
<td>Semester</td>
</tr>
</table>
</body>
</html>

最佳答案

如果您没有理由使用按字母顺序排列的变量,则可以使用 for 循环:

$(document).ready(function(){
  $("#hello").click(function(){
      $row = $('<tr/>');
      for(i=1; i<=5; i++){
          cellVal = i < 5 ? $("#test"+i).val() : $("input[name=sem]:checked").val();
          $row.append($("<td/>").text(cellVal));
      }
      $('table').append($row);
  });
});

但是请重新考虑您的复选框,您的 DOM 中的任何位置都不能有重复的 id。我添加了一个解决方法,但绝对要删除这些重复项。

JSFiddle

关于javascript - 使用 jquery 中的表单将值插入到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19593364/

相关文章:

html - 无法点击平板电脑/手机宽度的输入

javascript - 为什么当调用 apply() 或 call() 时 'this' 指向函数内的 window ?

JavaScript:将变量插入数组

javascript - 你如何访问 JavaScript 中的字节级信息?

javascript - 寻找一个工具来取消JS压缩并恢复变量名称

javascript - HTML - 没有绝对定位的 Div 到底部

javascript - 如何在重复的div中获取特定内容的滚动位置

javascript - 提交表单时防止模式关闭

html - IE 中不显示自定义符号字体

javascript - 禁用文本框而不使用 disabled