对于每个循环,在click事件jQuery上获取td值

时间:2015-08-20 10:50:47

标签: javascript jquery html html-table onclick

我的视图页面中有一个表格,它使用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,我该如何获得它?目前空数据返回 任何人都可以帮我这样做..

3 个答案:

答案 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);
});