<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?
6 Réponses :
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());
}
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.
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
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());
}
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 );
}
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);
}
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.