这是我的代码:
$(".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
of cbtn
和文本字段是动态创建的,如下所示:
当cbtn
被点击时,我想要得到的id
文本字段具有相同ID的目的cbtn
。但是它正在返回undefined
。
您需要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
直接选择它,这样会更快:
var comment = $('#comm' + id).val();
或者,如果文本字段始终是复选框前面的元素,则可以id
完全不需要通过选择来使用prev()
方法:
$(".cbtn").click(function(e) { $.post("comments.php", { id: this.id, comment: $(this).prev().val() }) });