ενώ βρόχο περνώντας διαφορετικές τιμές, αλλά ajax θα πάρει μόνο το πρώτο αξία

ψήφοι
0

Είμαι χρησιμοποιώντας php ajax να περάσει και να πάρει το αποτέλεσμα, αλλά javascript θα πάρει μόνο την αξία πρώτο loop

Εδώ να μου κώδικα:

<?php     
      $sql = 'SELECT * from booking_master
      INNER JOIN   *****
      WHERE booking_master.user_id=:id';

      $query = $conn->prepare($sql);
      $query->bindParam(':id', $id);

      $query->execute();

      if($query->rowCount())
      {

           while($row11 = $query->fetch(PDO::FETCH_ASSOC))
           {

  ?> 
  <tr>
          <td> <?php echo $row11['user_name']; ?> </td> 
          <input type=hidden name=userid id=userid value=<?php echo $row11['user_id']; ?>>
          <input type=text value=<?php echo $row11['plot_id']; ?>  name=plotid id=plotid>

          <td> <?php echo $row11['auto-book-id'];?></td>
          <td> <?php echo $row11['plot_id'];?> </td>
          <td> <?php echo $row11['plot_name'];?></td>
          <td> <?php echo $row11['trans_date'];?></td>


          <td> <a href=#  onclick=functscheme() > Select Plot</a>

 </tr>
 <?php 
           }
      } 
 ?>

Κωδικός ajax:

 function functscheme()
 {
     var userid=document.getElementById('userid').value;
     var plotid=document.getElementById('plotid').value;

     alert(plotid);

αλλά σε αυτό το οικόπεδο επιστρέφει μόνο πρώτη τιμή

Δημοσιεύθηκε 20/10/2018 στις 12:39
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

getElementByIdεπιστρέφει μόνο το πρώτο στοιχείο με αυτό το αναγνωριστικό (επειδή αναγνωριστικά προορίζονται μόνο για να χρησιμοποιηθεί σε ένα στοιχείο). Δοκιμάστε να χρησιμοποιήσετε τις κατηγορίες αντ 'αυτού.

Στην PHP:

<!-- These have the "class" attribute instead of "id" now -->
<input type="hidden" name="userid" class="userid" value="<?php echo $row11['user_id']; ?>">
<input type="text" value="<?php echo $row11['plot_id']; ?>"  name="plotid" class="plotid">

Σε JS:

// Get lists of HTML elements for inputs
// (selected by class)
var userIDElements = document.getElementsByClassName('userid');
var plotIDElements = document.getElementsByClassName('plotid');

// Array.from() converts the HTMLCollection to a normal JS Array
//   (this is necessary so we can use .map)
// .map(func) runs func on each element of the array, and returns a new
//  array with the results of that
// e.g. here, the function takes each <input> element found, and returns
//  its value, so now we have a list of values rather than a list of elements
var userIDs = Array.from(userIDElements).map(function (element) { return element.value; });
var plotIDs = Array.from(plotIDElements).map(function (element) { return element.value; });

Δείτε εδώ για περισσότερες λεπτομέρειες σχετικά .map().

Επεξεργασία: Ο κωδικός που είχα θέσει πριν ήταν λάθος - συγγνώμη.

Απαντήθηκε 20/10/2018 στις 15:43
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more