我的观点中有表格
这是代码
<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正确地做到这一点?
感谢您的帮助。
答案 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);
});
}