【问题标题】:For each loop get td value on click event jQuery对于每个循环,在点击事件 jQuery 上获取 td 值
【发布时间】:2015-11-13 23:29:40
【问题描述】:

我的视图页面中有一个表格,它使用 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,我该如何获取?当前为空数据返回 谁能帮我做这个..

【问题讨论】:

    标签: javascript jquery html html-table onclick


    【解决方案1】:

    隐藏元素是点击图像的上一个兄弟。因此,您可以使用 .prev() 选择器以及单击的元素上下文 this 遍历元素:

    $('.prevtest').on('click', function () {
        $(this).next().toggle();       
        var id = $(this).prev().val(); 
        alert(id);
    });
    

    【讨论】:

    • 嗨@Milind 谢谢你现在它正在工作。但是,当我如上所述尝试隐藏字段中的 projetId 时,它返回空值。你能给我建议吗
    • @KaviSuja:你的意思是当$('#CuDate').val()被使用??
    • 现在可以正常工作了。谢谢。我使用如下 'var ProjId = $(this).parents('tr').find('input[type="hidden"]').val();'
    【解决方案2】:

    你需要找到点击图片标签的前一个元素。

    $('.prevtest').on('click', function () {
            $(this).next().toggle();       
            var id = $(this).prev('#CuDate').val(); 
            alert(id);
    });
    

    【讨论】:

    • 感谢它现在的工作。我对此还有另一个困难..当我尝试获取 projectid 时,我使用 var ProjId = $(this).closest("tr").find("#TProjectId").text();警报(项目 ID);但它返回空值..你能帮我吗
    【解决方案3】:
    $('#alertData tr td').click(function(){
    var cid = $(this).attr('id');
    alert(cid);
    var cval = $(this).text();
    alert(cval);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-08
      • 2019-06-19
      • 1970-01-01
      • 2011-09-03
      • 2019-02-26
      • 2013-09-05
      • 2011-09-08
      • 2011-03-28
      相关资源
      最近更新 更多