Jquery 根据子输入值按ASC顺序排列div
如何根据子输入值对div进行排序?我希望最终能让它在keyup上运行Jquery 根据子输入值按ASC顺序排列div,jquery,sorting,return-value,Jquery,Sorting,Return Value,如何根据子输入值对div进行排序?我希望最终能让它在keyup上运行 <div class="wrap_0"> <input class="sort_by" value="10"/> </div> <div class="wrap_1"> <input class="sort_by" value="3"/> </div> <div class="wrap_2"> <input cl
<div class="wrap_0">
<input class="sort_by" value="10"/>
</div>
<div class="wrap_1">
<input class="sort_by" value="3"/>
</div>
<div class="wrap_2">
<input class="sort_by" value="7"/>
</div>
小提琴:
感谢您的帮助。请使用.val()
而不是.value
.val()
是用于jQuery对象的方法。而javascript对象上的.value
$(a).find(".sort_by")[0].value;
此外,不需要使用.each()
来追加数组
完美!谢谢你的快速回复。你知道我怎么对付一个人把同一个号码打两次吗?也就是说,如果他们输入了11,但11已经存在,那么相同的值和它之后的每个值都会增加1?所以9,11,11,12会变成9,11,12,13。再次感谢。@Tushar,谢谢你,我无法将你的编辑与我的下一个合并,所以小提琴链接重新命名了旧的。
var sortedArray = $("div[class^='wrap_']").get().sort(function(a, b) {
var idx = parseInt($(a).find(".sort_by").value,10);
var idx2 = parseInt($(b).find(".sort_by").value,10);
return idx > idx2;
});
$(sortedArray).each(function() {
$(this).appendTo("body");
});
$(a).find(".sort_by")[0].value;
var sortedArray = $("div[class^='wrap_']").get().sort(function(a, b) {
var idx = parseInt($(a).find(".sort_by").val(),10);
var idx2 = parseInt($(b).find(".sort_by").val(),10);
return idx > idx2;
});
$(sortedArray).appendTo("body");