1

我正在从数据库中检索 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)
        });

});

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

4

5 回答 5

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)
        });

});
于 2012-06-10T14:45:22.727 回答
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)
});



});
于 2012-06-10T14:46:49.757 回答
1

您可以使用数据而不是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)
        });
});
于 2012-06-10T14:47:17.607 回答
0

尝试以下

$(yourImage).parent().find('.postid').get(0)

于 2012-06-10T14:46:33.120 回答
0

好吧,我不知道您是否意识到,但是您所做的实际上不是选择一个值,而是在#gotpostid 元素中设置该值。

要选择值,这是方法:

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

如果您正在设置它,那么:

$('#gotpostid').val($value);
于 2012-06-10T14:47:53.253 回答