jQuery事件没有触发

时间:2012-10-18 02:35:23

标签: jquery

我遇到一个问题,即分配给按钮标签的点击事件在点击时没有触发。有几个按钮具有相同的类属性,但这不应该影响JS,因为类选择器会影响所有匹配的元素。

整个html部分隐藏页面加载并在单击特定链接时正确显示,但单击提交按钮时不会触发任何事件。也有人会善良并链接jquery,bootstrap.css和bootstrap.js的url,如果你有它靠近所以我可以尝试在jsfiddle中创建所需的效果。很有责任

HTML:

<span class="reply-comment" id="<?php echo $imagecomments[1][$i]['commentid']; ?>">
<div class="row-fluid">
    <div class="span11 offset1">
        <textarea class="<?php echo $imagecomments[1][$i]['commentid']; ?>" id="reply-textarea"></textarea><br>
        <button class="btn btn-mini submit-reply-button" data-commentid="<?php echo $imagecomments[1][$i]['commentid']; ?>"><strong>Submit</strong></button>
    </div>
</div>

JS:

$('.reply-comment').hide();
$('.submit-reply-button').click(function(e){
    e.preventDefault();
    var commentid = $(this).data('commentid');
    var reply = $(textarea.commentid).val();
    var filename = $('.mainimage').data('filename');
    var imgowner = $('.mainimage').data('imgowner');
    $.ajax({
        type: 'POST',
        url: '?category=addimgcomment',
        data: {
            "commentid" : commentid,
            "imgcomment" : reply,
            "filename" : filename,
            "imgowner" : imgowner
        },
        success: function(data){
            $(textarea.commentid).val("");
            $('.'+commentid+'subcomments').html(data);
        }
    });
return false;
});

1 个答案:

答案 0 :(得分:2)

您认为$(textarea.commentid)在做什么?

看看控制台,我打赌有一个错误。它正在寻找一个名为textarea的变量,其属性为commentid。那不是你想要的。

你想要的是建立选择器字符串

$("textarea." + commentid).val()