我的视图页面中有一个表格,它使用foreach显示值列表,如下所示:
<tr>
<td >
@Html.DisplayFor(modelItem => list.First().Project_Name)
@Html.Hidden("TProjectId", list.First().Project_Id, new { id = "pro" + i })
</td>
<td >
@Html.DisplayFor(modelItem => list.First().Task_Name)
@Html.Hidden("TTaskId", list.First().Task_Id, new { id = "Tsk" + i })
</td>
@foreach (var dateitem in list)
{
if (dateitem.Date.DayOfWeek == DayOfWeek.Sunday || dateitem.Date.DayOfWeek == DayOfWeek.Saturday)
{
<td >
<input id="Day1" name="Day1" type="text" value="" disabled="disabled" />
</td>
}
else
{
<td id="HoursTxt">
@Html.TextAreaFor(modelitem => dateitem.Hours, new { id = string.Format("txtHours") })
@Html.Hidden("CuDate", dateitem.Date)
<img src="~/Images/comment.png" class="prevtest" />
<div style="border:solid;display:none;">
@Html.TextAreaFor(modelItem => dateitem.Notes, new { id = "TxtNotes" })
</div>
</td>
}
}
</tr>
我希望在点击图片时获取日期(隐藏字段)... 我的jquery如下:
$('.prevtest').on('click', function () {
$(this).next().toggle();
var id = $('#CuDate').val(); alert(id);
var ProjId = $(this).closest("tr").find("#TProjectId").text(); alert(ProjId);
});
我只在点击任何图片时才获得第一个约会。 对于隐藏字段中的项目ID,我该如何获得它?目前空数据返回 任何人都可以帮我这样做..
答案 0 :(得分:3)
您需要找到点击图片代码的上一个元素。
$('.prevtest').on('click', function () {
$(this).next().toggle();
var id = $(this).prev('#CuDate').val();
alert(id);
});
答案 1 :(得分:2)
隐藏元素是点击图片的主要兄弟。因此,您可以使用.prev()
选择器以及单击的元素上下文this
遍历元素:
$('.prevtest').on('click', function () {
$(this).next().toggle();
var id = $(this).prev().val();
alert(id);
});
答案 2 :(得分:0)
$('#alertData tr td').click(function(){
var cid = $(this).attr('id');
alert(cid);
var cval = $(this).text();
alert(cval);
});