我在我的项目中使用MVC3。
我有一个表和一个textarea的视图。每行都有" Name"列和未显示在行中的ID。
我也有:
@Html.HiddenFor(model => model.SelectedQuestions)
当用户点击一行时,我希望我的一个字符串SelectedQuestions被行的ID填充。
这是我的桌子控制器内部:
foreach (var player in playerGroupedByTeam)
{
var playerViewModel = new playerViewModel();
playerViewModel.PlayerId = player.Id;
playerViewModel.PlayerName = Player.PlayerName;
TeamPlayer.Player.Add(playerViewModel);
}
有关如何使用jquery解决此问题的任何建议吗?
提前致谢!
答案 0 :(得分:0)
这应该有效:
<table id="player-table">
@foreach(var player in this.Model.Players)
{
<tr><td data-player-id="@player.PlayerId">@player.PlayerName</td></tr>
}
</table>
@this.Html.HiddenFor(model => model.SelectedQuestions)
<script type="text/javascript">
$(function() {
var selectedQuestions = $("#SelectedQuestions");
$("#player-table").find("td").click(function() {
var clickedId = $(this).attr("data-player-id");
var currentIds = selectedQuestions.val().split(",");
if (!$.inArray(clickedId, currentIds)) {
currentIds.push(clickedId);
}
selectedQuestions.val(currentIds.join(","));
});
});
</script>
请注意,如果您希望删除已经点击的ID,则不包括删除已经点击过的ID。