如何使用动态创建的id获取元素的值

时间:2015-12-28 14:33:23

标签: php jquery html

这是我的代码:

$(".cbtn").click(function(e) {
    alert("here");
    var id = $(this).attr('id');
    var comment = $('input[id$=id]').val();     
    alert("hay" + id);
    alert(comment);

    $.post("comments.php", {
        id: id, 
        comment: comment
    })
});
});

id的{​​{1}}和文本字段是动态创建的:

cbtn

点击<input type="text" class="enter_comment value="comments" id="comm<?php echo $row['p_id'];?>"/> <input type="button" value="enter" class="cbtn" id="<?php echo $row['p_id'];>"> 后,我希望得到cbtn的文本字段,该字段以与id相同的ID结尾。但它正在返回cbtn

1 个答案:

答案 0 :(得分:4)

您需要在选择器中连接id变量,如下所示:

$(".cbtn").click(function(e) {
    var id = this.id;
    var comment = $('input[id$=' + id + ']').val();         
    $.post("comments.php", {
        id: id, 
        comment: comment
    })
});

或者,由于文本字段的id与复选框相同,但前缀为comm,您可以直接选择id,这样会更快:< / p>

var comment = $('#comm' + id).val();

或者,如果文本字段始终是复选框前面的元素,则可以否定需要完全按id选择并使用prev()方法:

$(".cbtn").click(function(e) {
    $.post("comments.php", {
        id: this.id, 
        comment: $(this).prev().val()
    })
});