wrapAll & sort #2
by toubia95
HTML
<div class="wrapper_group_input sortLabels">
<div class="wrapper_input">
<label for="d_g_ef" class="check_mini">Ecrits fictionnels</label>
<input type="checkbox" id="d_g_ef" name="d_g_ef" value="1" class="check_mini">
</div>
<div class="wrapper_input">
<label for="d_g_ro" class="check_mini">Roman</label>
<input type="checkbox" id="d_g_ro" name="d_g_ro" value="1" class="check_mini">
</div>
<div class="wrapper_input">
<label for="d_g_autof" class="check_mini">Autofiction & autobiog. romancée</label>
<input type="checkbox" id="d_g_autof" name="d_g_autof" value="1" class="check_mini">
</div>
<div class="wrapper_input">
<label for="d_g_epi" class="check_mini">Epistolaire</label>
<input type="checkbox" id="d_g_epi" name="d_g_epi" value="1" class="check_mini">
</div>
<div class="wrapper_input">
<label for="d_g_fant" class="check_mini">Fantastique</label>
<input type="checkbox" id="d_g_fant" name="d_g_fant" value="1" class="check_mini">
</div>
<div class="wrapper_input">
<label for="d_g_heroic" class="check_mini">Heroic Fantasy</label>
<input type="checkbox" id="d_g_heroic" name="d_g_heroic" value="1" class="check_mini">
</div>
<div class="wrapper_input">
<label for="d_g_histo" class="check_mini">Historique</label>
<input type="checkbox" id="d_g_histo" name="d_g_histo" value="1" class="check_mini">
</div>
<div class="wrapper_input">
<label for="d_g_nove" class="check_mini">Novélisation</label>
<input type="checkbox" id="d_g_nove" name="d_g_nove" value="1" class="check_mini">
</div>
<div class="wrapper_input">
<label for="d_g_poli" class="check_mini">Policier</label>
<input type="checkbox" id="d_g_poli" name="d_g_poli" value="1" class="check_mini">
</div>
<div class="wrapper_input">
<label for="d_g_senti" class="check_mini">Sentimental</label>
<input type="checkbox" id="d_g_senti" name="d_g_senti" value="1" class="check_mini">
</div>
<div...
JavaScript
/*
// get all the nodes to be sorted
var $toSort = $('.sortLabels').children('.wrapper_input');
// extract the text
var values = $toSort.get().map(function(label) {
return label.textContent;
});
// sort the text
values.sort();
// shove reordered texts back into the original elements
values.forEach(function(value, index) {
$toSort[index].textContent = value;
});
*/
var cont = $(".sortLabels");
var arr = $.makeArray(cont.children(".wrapper_input"));
/*
console.log(arr.length);
console.log($(arr[0]).find('label').text());
*/
arr.sort(function(a, b) {
var textA = +$(a).find('label').text();
var textB = +$(b).find('label').text();
if (textA < textB) return 1;
if (textA > textB) return -1;
return 0;
});
console.log(arr);
cont.empty();
$.each(arr, function() {
cont.append(this);
});