Javascript 在表中显示数组对象
我遇到的问题是,当我添加一个新演员时,信息显示在不同的行中。查看一下Javascript 在表中显示数组对象,javascript,html,arrays,Javascript,Html,Arrays,我遇到的问题是,当我添加一个新演员时,信息显示在不同的行中。查看一下onclick函数 我需要添加一个新的参与者,并将其显示在表中,就像前两个一样 var参与者,i; 变量信息=[{ 名字:“杰森”, 姓氏:“斯塔姆”, 出生日期:“1967年7月26日”, 性别:“男性”, 类型:“动作、犯罪、惊悚片” }, { 名字:“马克”, 姓:“沃尔伯格”, 出生日期:“1971年6月5日”, 性别:“男性”, 类型:“动作、喜剧、戏剧” }]; var displayActors=函数(actor
onclick
函数
我需要添加一个新的参与者,并将其显示在表中,就像前两个一样
var参与者,i;
变量信息=[{
名字:“杰森”,
姓氏:“斯塔姆”,
出生日期:“1967年7月26日”,
性别:“男性”,
类型:“动作、犯罪、惊悚片”
}, {
名字:“马克”,
姓:“沃尔伯格”,
出生日期:“1971年6月5日”,
性别:“男性”,
类型:“动作、喜剧、戏剧”
}];
var displayActors=函数(actors){
var str=“”;
str+=”;
str+=“名字姓氏出生日期GenderGenre”;
str+=”;
对于(i=0;i
名字
姓氏
出生日期
性别:
男性
女性
类型:
行动
冒险
惊悚片
戏剧
我相信有些td缺失了
试试这个:
var sub = document.getElementById("submit").onclick = function() {
var fName = document.getElementById("fname").value;
var lName = document.getElementById("lname").value;
var dOb = document.getElementById("dob").value;
var str = "";
str += "<td>" + Info.push({firstName: fName}) + "</td>";
str += "<td>" + Info.push({lastName: lName}) + "</td>";
str += "<td>" + Info.push({birth: dOb}) + "</td>";
str += "<td></td>";
str += "<td></td>";
//Info.push({firstName: fName}, {lastName: lName}, {birth: dOb});
document.getElementById("actorGrid").innerHTML = str;
displayActors(Info);
}
var sub=document.getElementById(“提交”).onclick=function(){
var fName=document.getElementById(“fName”).value;
var lName=document.getElementById(“lName”).value;
var dOb=document.getElementById(“dOb”).value;
var str=“”;
str+=“”+Info.push({firstName:fName})+“”;
str+=“”+Info.push({lastName:lName})+“”;
str+=“+Info.push({birth:dOb})+”;
str+=”;
str+=”;
//推送({firstName:fName},{lastName:lName},{birth:dOb});
document.getElementById(“actorGrid”).innerHTML=str;
显示演员(信息);
}
嗯..我想你忘了把td包装成tr
尝试更改提交单击侦听器,如下所示:
var sub = document.getElementById("submit").onclick = function() {
var fName = document.getElementById("fname").value;
var lName = document.getElementById("lname").value;
var dOb = document.getElementById("dob").value;
var str = "<tr>";
str += "<td>" + Info.push({firstName: fName}) + "</td>";
str += "<td>" + Info.push({lastName: lName}) + "</td>";
str += "<td>" + Info.push({birth: dOb}) + "</td>";
str += "</tr>";
//Info.push({firstName: fName}, {lastName: lName}, {birth: dOb});
document.getElementById("actorGrid").innerHTML = str;
displayActors(Info);
}
var sub=document.getElementById(“提交”).onclick=function(){
var fName=document.getElementById(“fName”).value;
var lName=document.getElementById(“lName”).value;
var dOb=document.getElementById(“dOb”).value;
var str=“”;
str+=“”+Info.push({firstName:fName})+“”;
str+=“”+Info.push({lastName:lName})+“”;
str+=“+Info.push({birth:dOb})+”;
str+=”;
//推送({firstName:fName},{lastName:lName},{birth:dOb});
document.getElementById(“actorGrid”).innerHTML=str;
显示演员(信息);
}
希望这有帮助
正如@Agu V所回答的,您错过了tds。您没有为正在生成的3
生成任何行(应该是5
,即使您不需要最后2
的数据)
我实际上完成了表格,包括性别和体裁:
createElement('tr')
和appendChild()
这就是传统数据未显示在表中的原因。您生成了s,但没有任何
可将其放入insertCell()
用所需的
填充
`document.querySelector('input[name="gender"]:checked').value;`
3B。对于我使用的体裁:
HTMLCollection以收集.elements
(我在表单中添加了表单#流派
和#流派
)[name=“genre”]
- 循环浏览
genre.items()。选中
- 提取了每个
genre.items()的值。已选中
- 制作了一系列的结果
addEventListener()
稍微更改了事件处理。现在,JavaScript神会对您的代码表示友好:P,
。在文章的最后提供了参考资料
一小条
var参与者,i;
变量信息=[{
名字:“杰森”,
姓氏:“斯塔姆”,
出生日期:“1967年7月26日”,
性别:“男性”,
类型:“动作、犯罪、惊悚片”
}, {
名字:“马克”,
姓:“沃尔伯格”,
出生日期:“1971年6月5日”,
性别:“男性”,
类型:“动作、喜剧、戏剧”
}];
var displayActors=函数(actors){
var str=“”;
str+=”;
str+=“名字姓氏出生日期GenderGenre”;
str+=”;
对于(i=0;i