标签 <a> 获取下一个隐藏字段
Posted
技术标签:
【中文标题】标签 <a> 获取下一个隐藏字段【英文标题】:tag <a> get next hidden field 【发布时间】:2012-12-24 18:08:50 【问题描述】:我有以下标记
<td>
<a id="lbtnDelete" onclick="deleteFile(this); return false;" runat="server" class="silverbutton smallbutton normal">
<span class="left">
<span class="right">Delete</span>
</span>
</a>
<asp:HiddenField runat="server" ID="hidDownloadId" />
</td>
function deleteFile(element)
var currEl = element;
var downloadId = currEl.next().value;
当用户单击“lbtnDelete”链接时,我调用 deleteFile(this) 函数。在这个函数中,我应该得到隐藏输入的值 - hidDownloadId。我该怎么做?我已经试过了
currEl.next().value;
但在 Chrome 中,我收到一个错误,例如“对象没有方法 next()”。另一种尝试是做
currEl.parent().find('[type=hidden]')
[Exception: TypeError: Object has no method 'parent']
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:您需要先从元素中创建 jquery 对象,然后才能在其上使用 jquery 方法。
var currEl = $(element);
var downloadId = currEl.next().val();
但是既然你走 jquery 的方式,你也应该停止使用内联事件属性并使用 jquery 进行绑定。..
所以
<td>
<a id="lbtnDelete" runat="server" class="silverbutton smallbutton normal">
<span class="left">
<span class="right">Delete</span>
</span>
</a>
<asp:HiddenField runat="server" ID="hidDownloadId" />
</td>
和
$(function()
$('#lbtnDelete').click(function(e)
e.preventDefault();
var currEl = $(this),
downloadId = currEl.next().val();
// do whatever you want to do with downloadId here
);
);
【讨论】:
【参考方案2】:试试
function deleteFile(element)
var currEl = $(element);
var downloadId = currEl.next().val();
.next()
和 .parent()
是 jQuery 方法,val() 是 jQuery 等价于 .value
【讨论】:
以上是关于标签 <a> 获取下一个隐藏字段的主要内容,如果未能解决你的问题,请参考以下文章
能用ueditor实现预文本显示吗,类似于<pre>标签的功能
jQuery 获取<td>标签内容,判断后,隐藏<tr>标签。