标签 <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> 获取下一个隐藏字段的主要内容,如果未能解决你的问题,请参考以下文章

js如何设置里面的标签隐藏

能用ueditor实现预文本显示吗,类似于<pre>标签的功能

jQuery 获取<td>标签内容,判断后,隐藏<tr>标签。

js怎么获取table标签下的thead标签下的<td>的值

在选择框更改事件上获取隐藏输入字段的 ID

如果a标签里的href地址为空,隐藏DIV?