通过按钮点击(JS)获取价值

时间:2017-12-12 09:56:07

标签: javascript jquery razor

我的观点中有表格

这是代码

<tbody id="findings" style="overflow-y: scroll;">
  @foreach (var item in Model) {
  <tr>

    <td style="display: none" id="patientId" class="title">
      @Html.DisplayFor(modelItem => item.Patient_id)
    </td>
    <td class="title appdate">
      @Html.DisplayFor(modelItem => item.Start_appointment)
    </td>
    <td id="nameVal" class="title">
      @Html.DisplayFor(modelItem => item.Patient.Name)
    </td>

    <td class="title">
      <img src="@item.Calculation.CalculationStatus" />
    </td>

    <td class="title">
      <img style="width: 30px; height: 30px;" class="open_calculation" src="~/images/icons8-Document-30.png" />
    </td>
  </tr>
  }
</tbody>

我需要从

获得价值
<td class="title appdate">
  @Html.DisplayFor(modelItem => item.Start_appointment)
</td>

通过按钮点击open_calculation

我如何通过js正确地做到这一点?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

最简单的方法是:

$(function(){
    $("body").on("click", ".open_calculation", function(){
        $(this).closest("tr").find(".appdate").text();
    });  
});

希望这有帮助!

答案 1 :(得分:1)

所以根据@ N.Ivanov的回答,我需要编写这样的代码。

 $('.open_calculation').click(function() {
    openCalculation(this);
});
 function openCalculation(element) {
    $('#main_window').load('@Url.Action("OpenCalculationPartial", "Calculations")',
        function () {
           var date = "Finding from" + " " + $(element).closest("tr").find("#appdate").text().trim();
           $("#appointmentDate").text(date);
        });
}

问题出在哪里。

我在函数中使用this,但函数中的这个上下文是不同的。

所以编码这段代码是对的:

  $('.open_calculation').click(function() {
    openCalculation();
});
 function openCalculation(element) {
    $('#main_window').load('@Url.Action("OpenCalculationPartial", "Calculations")',
        function () {
           var date = "Finding from" + " " + $(element).closest("tr").find("#appdate").text().trim();
           $("#appointmentDate").text(date);
        });
}