以下是我现有的代码,这会生成一个'团队列表'我在我的数据库中打印到页面。请注意,HTML代码是使用.jade的模板编写的,但很容易理解正在发生的事情
Team.jade
div.teamList
form.form-horizontal(action='/team', id="teamForm")
div.control-group
label.control-label(for="teamId") Team Id:
div.controls
input#teamId.input-small(type="text")
div.control-group
label.control-label(for="teamName") Team Name:
div.controls
input#teamName.input-small(type="text")
div.control-group
div.controls
button#teamUpdate.btn.btn-primary.btn-mini(type="submit", value="Update Team") Update
div.control-group
label.control-label(for="newTeamName") Enter new team:
div.controls
input#newTeamName.input-small(type="text")
div.control-group
div.controls
button#teamConfirm.btn.btn-primary.btn-mini(type="submit", value="Save Team") Submit
br
div.teamList(style='border: none; background: #cecece; color: #1a1a1a; padding: 4px; width: 400px; height: 315px; overflow: auto;')
include showTeams
showTeams.jade
div#teamListDiv
- if(allTeams.length > 0){
table
thead
tr
th Name
tbody
tr
td
- each team in allTeams
include teamDisplay
- } else {
h3 No teams till now..
- }
teamDisplay.jade
div.teams(id="team-#{team.key}")
p #{team.name}
目前,当showTeams
运行时,这将生成数据库中所有团队的列表。 teamDisplay
文件将为每个团队生成一个新div,其中key
为div的名称。
我想生成一个链接,而不是在div中生成p #{team.name}
,这很容易做到。但是,点击链接后,我希望teamId
和teamName
文本框中填充相应的数据。
我在team.js中有这个:
Team.initIndexPage = function(){
$('#teamConfirm').click(function(){
submitTeam();
});
submitTeam = function(){
// frontend sends data - backend parses the data
var teamForm = {
name : $('#newTeamName').val()
};
// Basic validation
$.post('/save/team', {'teamForm' : teamForm}, function(response) {
console.log(response);
});
};
};
正如您所看到的那样,我指的是#teamConfirm
提交一个新的团队,所以我的问题是......我将如何查看点击任何团队链接的情况...它填充具有正确数据的文本框?
任何帮助表示感谢。
答案 0 :(得分:0)
我不确定我100%跟随你所说的一切 - 但似乎你的问题与node / mongo有很大关系,而且它更像是一个前端的javascript问题。如果您想跟踪点击的链接,可以使用javascript的'this'上下文。
因此,如果您为所有链接提供了一个公共类名,并将team.js中的代码更改为以下内容:
$('.teamLink').click(function(){
submitTeam($(this)); // $(this) keeps track of the actual link that was clicked.
});
然后你可以在submitTeam()中获取该上下文并使用它来操纵你想要的元素。