这是我的代码:
$(".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
。
答案 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()
})
});