jquery 标记< a>获取下一个隐藏字段

kyks70gy  于 2023-06-22  发布在  jQuery
关注(0)|答案(2)|浏览(127)

我有以下标记

<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中,我得到了一个错误,比如“Object doesn 't have method next()”。另一个尝试是

currEl.parent().find('[type=hidden]')
[Exception: TypeError: Object has no method 'parent']

任何帮助都将不胜感激。

m528fe3b

m528fe3b1#

你需要在你的元素中创建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

    });
});
cig3rfwq

cig3rfwq2#

试试看

function deleteFile(element)
{
    var currEl = $(element);
    var downloadId = currEl.next().val();
}

.next().parent()是jQuery方法,瓦尔()是与.value等效的jQuery方法

相关问题