Vous pouvez déplacer le côté client des éléments avec quelque chose comme:
$("#btnMoveSectionUp").click(function (e) {
var curr = $("#<%= lstEditReportSections.ClientID %> option:selected");
if (curr.length == 0) return;
if (curr.index() > 0) {
var prev = curr.prev();
curr.insertBefore(prev);
}
});
$("#btnMoveSectionDown").click(function (e) {
var curr = $("#<%= lstEditReportSections.ClientID %> option:selected");
if (curr.length == 0) return;
if (curr.index() < $("#<%= lstEditReportSections.ClientID %> option").length - 1) {
var next = curr.next();
curr.insertAfter(next);
}
});
Mais le serveur ne verra pas les modifications apportées sur le client. Ce que j'ai fait était d'utiliser ce code pour stocker toutes les valeurs dans un champ caché, puis le diviser sur le côté serveur.
$("#<%= btnSaveReport.ClientID %>").click(function (e) {
if (confirm("Are you sure you want to save the report?") != true) return false;
var sections = $("#<%= lstEditReportSections.ClientID %> option").map(function() {
return $(this).val();
}).get().join('#');
$("#<%= hidEditReportSectionsList.ClientID %>").val(sections);
});
Il ne peut pas être idéal, mais il a fait l'affaire pour moi.
J'ai la colonne de commande dans ma base de données. J'ai besoin de savoir si c'est bon de procéder avec listbox ou d'autres contrôles? Et si c'est agréable d'aller avec la liste, comment peut-on monter et descendre avec jquery. – Prasad