Je me suis mis en tête d'utiliser jQuery pour réaliser une sorte de datagrid (affichage de données sous forme de tableau, tri par colonne, édition, suppression d'entrées, limitation des lignes affichées dans le tableau et pseudo-pagination). Afin de retrouver les opérations, je stocke des informations dans l'id des cellules du header du tableau.
jQuery permet d'utiliser des sélecteurs CSS, ce qui me simplifie la tâche... dans le cas où ceux-ci fonctionnent. Pour l'instant, je me prends la tête sur quelque chose de relativement con.
J'ai qelque part dans un id de td l'information sur le dernier tri effectué, et j'aimerais la récupérer. Voyant les possibilités de jQuery, je sélectionne $("td[id*='desc']"). Seulement, pour je ne sais quelle raison, ce sélecteur ne fonctionne pas. Alors que j'ai bien mon id contenant ce que je recherche, l'ensemble retourné est vide. Quelqu'un verrait ce qui m'a échappé pendant les trois dernières heures ?

<table id="data">
<thead>
<tr>
<td id="Hdata_id"><a href="#" title="Sort ascending">Data_id</a></td>
<td id="Hdate"><a href="#" title="Sort ascending">Date</a></td>
<td id="Hcontent"><a href="#" title="Sort ascending">Content</a></td>
<td id="Hnumber&desc=0"><a href="#" title="Sort ascending">Number</a></td>
<td></td>
<td></td>
</tr>
</thead>
<tbody id="P0">
<tr id="1">
<td>1</td>
<td>2010-06-08</td>
<td>example 1</td>
<td>7</td>
<td class="edit"><a href="#" title="Edit">Edit</a></td>
<td class="delete"><a href="#" title="Delete">Delete</a></td>
</tr>
<tr id="3">
<td>3</td>
<td>2010-06-11</td>
<td>example 3</td>
<td>5</td>
<td class="edit"><a href="#" title="Edit">Edit</a></td>
<td class="delete"><a href="#" title="Delete">Delete</a></td>
</tr>
<tr id="4">
<td>4</td>
<td>2010-06-14</td>
<td>example 6</td>
<td>4</td>
<td class="edit"><a href="#" title="Edit">Edit</a></td>
<td class="delete"><a href="#" title="Delete">Delete</a></td>
</tr>
<tr id="5">
<td>5</td>
<td>2010-06-22</td>
<td>example 4</td>
<td>2</td>
<td class="edit"><a href="#" title="Edit">Edit</a></td>
<td class="delete"><a href="#" title="Delete">Delete</a></td>
</tr>
<tr id="2">
<td>2</td>
<td>2010-06-03</td>
<td>example 2</td>
<td>1</td>
<td class="edit"><a href="#" title="Edit">Edit</a></td>
<td class="delete"><a href="#" title="Delete">Delete</a></td>
</tr>
</tbody>
</table>
function dataSupressor() {
$(function() {
$(".delete a").click(function() {
if (confirm("Vous voulez réellement supprimmer cette ligne ?")) {
var did = this.parentNode.parentNode.id;
var sorted = $("td[id*='desc']").attr("id");
var length = sorted.length - 2;
sorted = sorted.substring(1, length);
var param = "delete=" + did + "&page=" + $("#data tbody").attr("id").substring(1) +
"&orderby=" + sorted;
alert(param);
$.ajax({
type: "GET",
url: "data.php",
data: param,
success: function(v) {
$("#data").html(v);
dataManager();
}
});
}
});
});
}
Merci