1
votes

Comment obtenir toutes les données de ligne en fonction d'une valeur Max pour une colonne?

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<table id="myTable">
  <tr class="header">
    <th style="width:10%;">Name</th>
    <th style="width:10%;">Lastname</th>
    <th style="width:10%;">Value</th>
  </tr>

  <tr>
    <td>Deneme</td>
    <td>SDeneme</td>
    <td class="sira">100</td>
  </tr>

  <tr>
    <td>Ornek</td>
    <td>SOrnek</td>
    <td class="sira">150</td>
  </tr>

</table>

<button name="siradaki" id="siradaki" class="btn btn-warning" onclick="siradaki();">Sıradaki Kim ?</button>
function siradaki() {
  var high = Math.max.apply(Math, $('.sira').map(function() {
    return $(this).text()
  }))
  
  alert(high);
}

Ce code fonctionne. Mais comment puis-je obtenir le Name et le Lastname ainsi que la Value?


0 commentaires

6 Réponses :


1
votes

Saisissez toutes les lignes au lieu d'une seule valeur de la cellule .sira , puis analysez-les. De cette façon, vous aurez des informations complètes lorsque vous trouverez max.

<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<table id="myTable">
  <thead>
    <tr class="header">
      <th style="width:10%;">Name</th>
      <th style="width:10%;">Lastname</th>
      <th style="width:10%;">Value</th>
    </tr>
  </thead>
  <tbody>

    <tr>
      <td>Deneme</td>
      <td>SDeneme</td>
      <td class="sira">100</td>
    </tr>

    <tr>
      <td>Ornek</td>
      <td>SOrnek</td>
      <td class="sira">150</td>
    </tr>
  </tbody>

</table>

<button name="siradaki" id="siradaki" class="btn btn-warning" onclick="siradaki();">Sıradaki Kim ?</button>

</html>
function siradaki() {
  var max = -Infinity;
  var maxRow;
  $('tbody tr').each(function() {
    var value = parseInt($('.sira', this).text(), 10);
    if (value > max) {
      max = value;
      maxRow = $(this);
    }
  });

  alert(maxRow.text());
}


7 commentaires

Et comment serait-ce si je veux prendre la valeur minimale


Renommez les variables de manière appropriée, définissez la valeur initiale sur + Infinity et inversez la condition pour le signe less . Mais à votre place, je créerais une fonction distincte pour cela.


tu es le meilleur et as-tu quelque chose à apprendre facilement jquery


Essayez ceci: codecademy.com / courses / learn-jquery / leçons / jquery-setup /… - guide interactif étape par étape. Ceci (et d'autres) sont gratuits.


Merci et dernière chose désolé, je prends votre temps mais s'il y a les mêmes deux valeurs comment puis-je en obtenir deux


je ne peux pas faire la logique, peu importe je pense que je ne peux pas trouver une solution pour ça


Voici l'astuce: chaque , map et les autres méthodes d'itérateur reçoivent l'index et l'élément en tant qu'arguments. Vous pouvez stocker ceux qui correspondent max === valeur dans le tableau, puis y accéder à la fin. N'oubliez pas de réinitialiser le tableau, si vous trouvez un nouveau max.



0
votes
function siradaki(){

var value = $('tr td').map(function () {
return parseInt($(this).text(), 10) ? parseInt($(this).text(), 10) :  null;
}).get();

var high = Math.max.apply(Math, value);
alert(high);
 }
try this dont add class grab all rows

0 commentaires

0
votes

essayez de trier une liste par valeur dans l'ordre décroissant et récupérez le premier objet de la liste

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<table id="myTable">
  <tr class="header">
    <th style="width:10%;">Name</th>
    <th style="width:10%;">Lastname</th>
    <th style="width:10%;">Value</th>
  </tr>

  <tr>
    <td>Deneme</td>
    <td>SDeneme</td>
    <td class="sira">100</td>
  </tr>

  <tr>
    <td>Ornek</td>
    <td>SOrnek</td>
    <td class="sira">150</td>
  </tr>

</table>

<button name="siradaki" id="siradaki" class="btn btn-warning" onclick="siradaki();">Sıradaki Kim ?</button>
function siradaki() {
      var high = $('.sira').sort(function(a, b) {
        return $(a).text() < $(b).text()
      })[0];
      
      console.log($(high).closest('tr').find('td:eq(0)').text());
console.log($(high).closest('tr').find('td:eq(1)').text());
console.log($(high).text());
    }


0 commentaires

1
votes

Vous pouvez utiliser .siblings pour obtenir les éléments frères td et .textContent pour obtenir leur texte. Stockez-les dans une chaîne et alertez-les avec le

<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<table id="myTable">
<tr class="header">
    <th style="width:10%;">Name</th>
    <th style="width:10%;">Lastname</th>
	  <th style="width:10%;">Value</th>
</tr>
 
<tr> 
<td>Deneme</td>
<td>SDeneme</td>
<td class="sira">100</td>
<tr>

<tr> 
<td>Ornek</td>
<td>SOrnek</td>
<td class="sira">150</td>
<tr>

</table>

<button name="siradaki" id="siradaki" class="btn btn-warning" onclick="siradaki();">Sıradaki Kim ?</button>

</html>
 var str='';
function siradaki(){
           var high = Math.max.apply(Math, $('tr > .sira').map(function(){
          var a=Object.values($(this).siblings())
           str=a[0].textContent+ " " + a[1].textContent;
                   return $(this).text();
 
})) 
alert (str + " " +high );
			}


0 commentaires

0
votes

Vous pouvez essayer comme ceci

​​

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<table id="myTable">
  <tr class="header">
    <th style="width:10%;">Name</th>
    <th style="width:10%;">Lastname</th>
    <th style="width:10%;">Value</th>
  </tr>

  <tr>
    <td>Deneme</td>
    <td>SDeneme</td>
    <td class="sira">100</td>
  </tr>

  <tr>
    <td>Ornek</td>
    <td>SOrnek</td>
    <td class="sira">150</td>
  </tr>

</table>

<button name="siradaki" id="siradaki" class="btn btn-warning" onclick="siradaki();">Sıradaki Kim ?</button>
function siradaki() {
var arr = [];
  $('.sira').each(function() {
    arr.push($(this).text());
    var Names = $(this).siblings('td').text();
    console.log('Names: '+ Names);
  })
  
  var maxValue = Math.max.apply(Math, arr);

  console.log('maxValue: '+maxValue);
}


0 commentaires

0
votes

Jetez un œil à cette méthode jQuery pour frères et sœurs ici - https://api.jquery.com/siblings/

Vous pouvez accéder aux frères et sœurs en utilisant la balise tr comme paramètres et distinguer le prénom et le nom en utilisant l'index, c'est-à-dire 0 pour le prénom et 1 pour le nom.


0 commentaires