1

我正在尝试获取隐藏输入类型的值,但它不起作用。

JQUERY(在脚本标签中):

$('.flagComment').click(function() {
    var commentid = $(this).siblings('.commentId').attr('value');

    alert(commentid);
});

HTML(这会在一个while循环中多次回显):

<div class='bar'>
    <a href='#' class='flagComment'>Flag</a>
</div>

<input type='hidden' class='commentId' value='testvalue' />
4

3 回答 3

3

尝试:

var commentid = $(this).parent().next('.commentId').val();

因为隐藏的输入是 div 的兄弟,而不是锚。

于 2012-01-02T15:32:40.463 回答
0

input 不是此链接的兄弟。现在它起作用了:

<div class='bar'>
<a href='#' class='flagComment'>Flag</a>
<input type='hidden' class='commentId' value='testvalue' />
</div>

您也可以尝试使用最接近()函数:

$('.flagComment').click(function() {
    var commentid = $(this).closest('.commentId').attr('value');
    alert(commentid);
});
于 2012-01-02T15:34:34.597 回答
0

这应该会更好,因为.commentId它不是以下的兄弟.flagComment

$('.flagComment').click(function(){
    var commentid = $(this).parent().next('.commentId').val();
    alert(commentid);
});

演示

于 2012-01-02T15:32:36.190 回答