jQuery具有相同id的多个按钮

时间:2018-02-22 22:02:24

标签: javascript php jquery html ajax

我有一个问题,多个按钮具有相同的ID。当我单击其中一个按钮时,它仅适用于id = 1(当我在文本字段中输入内容并按任意按钮时,在每种情况下,只会更新id = 1的记录)。如何解决这个问题?

div id="ShowPrace">
<?php
try {
  $stmt = $pdo->prepare("SELECT * FROM prace");
  $stmt->execute(array());
  $count = $stmt->rowCount();
  while($row = $stmt->fetch(PDO::FETCH_ASSOC)){

?>

  <textarea class="form-control" name="id" rows="1" id="id"><?php echo $ind; ?></textarea>
  <div class="form-group">
    <label for="img">Link do obrazka:</label>
    <textarea class="form-control" name="link" rows="1" id="link"><?php echo $row['img']; ?></textarea>

  </div>
  <div class="form-group">
    <label for="title">Tytuł:</label>
    <textarea class="form-control" name="title" rows="1" id="title"><?php echo $row['title']; ?></textarea>
  </div>
  <div class="form-group">
    <label for="opis">Opis:</label>
    <textarea class="form-control" name="opis" rows="1" id="opis"><?php echo $row['opis']; ?></textarea>
  </div>
  <div class="form-group">
    <button type="submit" id="poprawa" name="poprawa" class="btn btn-primary"> Popraw</button>
</div>
  <?php
    }

  } catch (\Exception $e) {
      echo "Wystąpił nieoczekiwany błąd!";
  }
  ?>

和JS:

("#poprawa").click(function(){

var link = $("#link").val().trim();
var title = $("#title").val().trim();
var opis = $("#opis").val().trim();
var id = $("#id").val().trim();

$.ajax({
  url: 'update_prace.php',
  type: 'POST',
  data: {link:link, title:title, opis:opis, id:id},
  success: function(response){
    if(response == 0){
      alert("error");
    }
    else{
      alert("Poprawione!");
      location.reload();
    }
  }
});

});

2 个答案:

答案 0 :(得分:2)

ID是唯一的,无法重复。您应该在DOM中使用class并相应地更改选择器

HTML:

<button type="submit" name="poprawa" class="btn btn-primary poprawa"> Popraw</button>

JS:

$(".poprawa").click(function(){

例如。

答案 1 :(得分:2)

您必须区分ID,因为ID是唯一的。

您可以执行以下操作:

<?php    
    ...
    $i=0;
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
?>
...
<textarea class="form-control" name="id" rows="1" id="id-"<?php $i ?>>
...
<?php
    }
    $i++;    
    } catch (\Exception $e) {
       echo "Wystąpił nieoczekiwany błąd!";
    }
?>

$i允许更改每个循环的ID。

相关问题