У этого есть 3 ряда и 3 кнопки в каждом ряду. Итак, когда я ввожу значение в первую строку и нажимаю кнопку, данные вставляются. А затем, когда я ввожу во вторую строку и нажимаю ее кнопку, он вставляет значение в первую строку. И с кнопкой тоже что-то не так. Я думаю, это потому, что у них один и тот же класс div. Есть ли способ или решение для этого? Код Ajax и jquery:
$(.btn).click(function() {
$getComment = $(".divComment").val();
$getId= $(".inputId").val();
$("#divHolder").load("insertData.php",{
passComment: $getComment ,
passId: $getId
});
});
Код PHP:
<?php foreach($query as $querySHOW) {?>
<textarea class = "divComment">COMMENT</textarea> //GET COMMENT
<input type = "text" class = "inputId" value"<?php echo $querySHOW['id'];?>"> //GET ID
<input type = "button" class = "btn"> //BUTTON CLICK
<?php } ?> //SHOWS 3 ROWS with 3 BUTTONS EACH ROWS
ой, извините, он должен быть наверху. хотя я уже сделал это и все еще не работал
ОК. И на всякий случай - $(.btn).click(function() {, это тоже синтаксическая ошибка (должна быть $('.btn').click(function() {) и в вашем коде она написана правильно?






Попробуй с этим.
HTML
$(".btn").click(function() {
$getId = $(this).attr('id');
$getComment = $("#divComment_"+$getId).val();
$("#divHolder").load("insertData.php",{
passComment: $getComment ,
passId: $getId
});
});
PHP
<?php foreach($query as $querySHOW) {?>
<div id = "divHolder">
<textarea id = "divComment_<?php echo $querySHOW['id'];?>">COMMENT</textarea> //GET COMMENT
<input type = "button" class = "btn" id = "<?php echo $querySHOW['id'];?>"> //BUTTON CLICK
</div>
<?php } ?> //SHOWS 3 ROWS with 3 BUTTONS EACH ROWS
Поэтому я не могу понять, как
<div id = "divHolder">является действительным HTML внутри цикла. Не уверен, что причина в этом, но это точно недействительный HTML (несколько идентификаторов)