Jquery - 如何从中选择下一个元素?

时间:2012-06-10 14:36:44

标签: javascript jquery select post jquery-selectors

我正在从数据库中检索9个图像缩略图,每个缩写都位于自己的div中,如下所示:

<div class="post">

<div class="post_desc"></div>
<div class="post_title"></div>
<a href="#" class="linktopost">**<img src="img/thumb.png" class="thumb-img"/>**</a>
<form>
**<input type="hidden" class="postid" value="'.$post_id.'" />**
</form>

</div>

使用Jquery我试图在点击缩略图时发布隐藏输入字段中的值,但我正在努力正确选择它。输入中的值随9个图像中的每个图像而变化。

这是我与Jquery的距离:

$(".thumb-img").click(function(){

    $.post("inc/fullpost.php", {postid: ##########.val()},
        function(output){
            $("#gotpostid").html(output).show();
        }).fail(function(x,y,z){ 
            $("#gotpostid").html(x + "<br />" + y + "<br />" + z)
        });

});

那么如何正确选择与图像缩略图位于同一个包含类的输入字段中的值?

5 个答案:

答案 0 :(得分:1)

试试这个:

$(".thumb-img").click(function(){
    var postId = $(this).closest(".post").find(".postid").val();
    $.post("inc/fullpost.php", {postid: postId},
        function(output){
            $("#gotpostid").html(output).show();
        }).fail(function(x,y,z){ 
            $("#gotpostid").html(x + "<br />" + y + "<br />" + z)
        });

});

答案 1 :(得分:1)

$(".linktopost").click(
function(){ var ValueToPost= $(this).next("input").val();

$.post("inc/fullpost.php", {postid: ValueToPost},
    function(output){
        $("#gotpostid").attr('type', 'text').val(output);
    }).fail(function(x,y,z){ 
        $("#gotpostid").val(x + "<br />" + y + "<br />" + z)
});



});

答案 2 :(得分:1)

您可以使用data代替hidden元素。删除hidden元素,然后尝试这样:

标记:

<img src="img/thumb.png" class="thumb-img" data-postid="'.$post_id.'"/>

脚本:

$(".thumb-img").click(function(){
    $.post("inc/fullpost.php", {postid: $(this).data('postid')},function(output){
            $("#gotpostid").html(output).show();
        }).fail(function(x,y,z){ 
            $("#gotpostid").html(x + "<br />" + y + "<br />" + z)
        });
});

答案 3 :(得分:0)

尝试以下

$(yourImage).parent()。找到( '帖子ID')。得到(0)

答案 4 :(得分:0)

嗯,我不知道你是否意识到,但是你正在做的事实上是在#gotpostid元素中设置值,而不是选择一个值。

要选择值,这是方法:

$value = $('#gotpostid').val();

如果您正在设置它:

$('#gotpostid').val($value);