use*_*909 2 javascript jquery asp.net-mvc-3 asp.net-mvc-4
我正在使用mvc4和jquery.
我试图找到一种方法来使整行发射双击事件.
我的方案是,包含参数Person ID,FirstName和Lastname的模型.
但是html表只显示FirstNmae和Lastname.
在哪里存储人员ID,如果隐藏它也不会进入javascript和空间问题.
我的需求是,使行可双击,并且时间获取personID,其次是从最终用户隐藏人员ID.
为了得到我用过的人格,
$('#EditTable td').dblclick(function () {
$(this).find('td:eq(1)')
$(this).find('td:first').text()
}
Run Code Online (Sandbox Code Playgroud)
但没有任何价值.
解
问题是事件是为td
元素触发,因此this
引用td
元素.您需要获取父项tr
,然后调用该find
函数.
像这样的东西:
$('#EditTable td').dblclick(function () {
var $this = $(this);
var row = $this.closest("tr");
row.find('td:eq(1)');
row.find('td:first').text();
}); //<-- NOTE: you dont close correctly in your example, which cause console errors
Run Code Online (Sandbox Code Playgroud)
或者,您可以将事件分配给tr
元素,这样您就可以保留原始功能代码......
$('#EditTable tr').dblclick(...
Run Code Online (Sandbox Code Playgroud)
就个人而言,我更喜欢使用data
属性存储"元数据"类型的东西.例如:
$('#EditTable td').dblclick(function () {
var $this = $(this);
var row = $this.closest("tr");
var id = row.data("id");
});
Run Code Online (Sandbox Code Playgroud)
使用以下html表:
<table id="EditTable">
<tr data-id="1">
<td>1</td><td>One</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11524 次 |
最近记录: |