【发布时间】:2019-11-20 16:30:38
【问题描述】:
我目前正在学习 C# Blazor 框架,我面临一个问题,如何获取我点击的 HTML 元素?
我需要它来获取它在 DOM 和父 HTML 元素中的位置。
例如,使用 JQuery 的经典方式:
$('selector').click(function (event) {
alert($(this).index());
});
我知道,Blazor 中有@onclick 属性,例如:
<tr @onclick="OnYes">...</tr>
@functions {
ElementReference inputTypeFileElement;
public async Task MainTableOnClick(MouseEventArgs e)
{
Console.WriteLine("clicked!");
}
}
如何获取被点击的 TR HTML 元素的索引?
我的任务是将 Windows 窗体应用程序转换为 Web 版本。旧的 Windows 窗体有 DataGridView,每一行也有 onClick 事件和标记对象。当点击 DataGridView 的某些行时,onClick 获取该行的 Tag 对象并使用它将数据填充到表单上的另一个 DataGridView 中。所以,我需要知道,单击哪一行从某个对象(它可以是 DataTable,或者更简单地说是 Array)中获取数据。基于数组中的行索引和索引,我需要获取数据以填充网页上的另一个表。
所以,第一个表是客户(姓名、姓氏等...)。
当单击带有客户端的某些行时,我需要获取表中的行(客户端)索引。通过该索引,我将从客户端数组中获取数据。通过找到 Client 对象,我计划动态填充页面上的另一个表。
【问题讨论】:
-
XY 问题?你能解释一下为什么首先需要 html 元素吗?
-
不是 XY 问题,我需要找到匹配元素集中第一个元素相对于其兄弟元素的位置 - api.jquery.com/index
标签: c# jquery asp.net-core .net-core blazor