Jquery 根据复选框的值(按特定顺序)对复选框进行排序
我有一些复选框,它们是由wordpress插件按特定顺序放置的 生成的HTML代码如下所示:Jquery 根据复选框的值(按特定顺序)对复选框进行排序,jquery,sorting,Jquery,Sorting,我有一些复选框,它们是由wordpress插件按特定顺序放置的 生成的HTML代码如下所示: <div class="wpgmza_filter_container" id="wpgmza_filter_container_5"> <div class="wpgmza_cat_checkbox_holder wpgmza_cat_checkbox_5"> <div class="wpgmza_cat_checkbox_item
<div class="wpgmza_filter_container" id="wpgmza_filter_container_5">
<div class="wpgmza_cat_checkbox_holder wpgmza_cat_checkbox_5">
<div class="wpgmza_cat_checkbox_item_holder_first">
<input type="checkbox" class="wpgmza_checkbox form-control" id="wpgmza_cat_checkbox_0" name="wpgmza_cat_checkbox" mid="5" value="0">
<div>
<label for="wpgmza_cat_checkbox_0">All</label>
</div>
</div>
<div class="wpgmza_cat_checkbox_item_holder">
<input type="checkbox" class="wpgmza_checkbox form-control" id="wpgmza_cat_checkbox_2" name="wpgmza_cat_checkbox" mid="5" value="2">
<div>
<label for="wpgmza_cat_checkbox_2">Airco</label>
</div>
</div>
<div class="wpgmza_cat_checkbox_item_holder">
<input type="checkbox" class="wpgmza_checkbox form-control" id="wpgmza_cat_checkbox_3" name="wpgmza_cat_checkbox" mid="5" value="3">
<div>
<label for="wpgmza_cat_checkbox_3">Vent</label>
</div>
</div>
<div class="wpgmza_cat_checkbox_item_holder">
<input type="checkbox" class="wpgmza_checkbox form-control" id="wpgmza_cat_checkbox_5" name="wpgmza_cat_checkbox" mid="5" value="5">
<div>
<label for="wpgmza_cat_checkbox_5">Sun</label>
</div>
</div>
<div class="wpgmza_cat_checkbox_item_holder">
<input type="checkbox" class="wpgmza_checkbox form-control" id="wpgmza_cat_checkbox_1" name="wpgmza_cat_checkbox" mid="5" value="1">
<div>
<label for="wpgmza_cat_checkbox_1">One</label>
</div>
</div>
</div>
</div>
是否可以根据我定义的值列表对它们进行排序?
我希望它们按以下顺序显示(基于值):
3,5,0,1,2要以非顺序方式对给定的项目进行排序,您可以指定数组中的顺序,然后比较该数组中给定值的
indexOf()
根据我对你的回答,你可以这样展开逻辑:
<div class="wpgmza_filter_container" id="wpgmza_filter_container_5">
<div class="wpgmza_cat_checkbox_holder wpgmza_cat_checkbox_5">
<div class="wpgmza_cat_checkbox_item_holder_first">
<input type="checkbox" class="wpgmza_checkbox form-control" id="wpgmza_cat_checkbox_0" name="wpgmza_cat_checkbox" mid="5" value="0">
<div>
<label for="wpgmza_cat_checkbox_0">All</label>
</div>
</div>
<div class="wpgmza_cat_checkbox_item_holder">
<input type="checkbox" class="wpgmza_checkbox form-control" id="wpgmza_cat_checkbox_2" name="wpgmza_cat_checkbox" mid="5" value="2">
<div>
<label for="wpgmza_cat_checkbox_2">Airco</label>
</div>
</div>
<div class="wpgmza_cat_checkbox_item_holder">
<input type="checkbox" class="wpgmza_checkbox form-control" id="wpgmza_cat_checkbox_3" name="wpgmza_cat_checkbox" mid="5" value="3">
<div>
<label for="wpgmza_cat_checkbox_3">Vent</label>
</div>
</div>
<div class="wpgmza_cat_checkbox_item_holder">
<input type="checkbox" class="wpgmza_checkbox form-control" id="wpgmza_cat_checkbox_5" name="wpgmza_cat_checkbox" mid="5" value="5">
<div>
<label for="wpgmza_cat_checkbox_5">Sun</label>
</div>
</div>
<div class="wpgmza_cat_checkbox_item_holder">
<input type="checkbox" class="wpgmza_checkbox form-control" id="wpgmza_cat_checkbox_1" name="wpgmza_cat_checkbox" mid="5" value="1">
<div>
<label for="wpgmza_cat_checkbox_1">One</label>
</div>
</div>
</div>
</div>
函数排序值(a,b){
var aVal=parseInt($(a).find('input').val(),10),
bVal=parseInt($(b).find('input').val(),10);
退货订单.indexOf(aVal)>订单.indexOf(bVal);
}
变量顺序=[3,5,0,1,2];
var$container=$(“div.wpgmza_cat_checkbox_holder”);
$container.children(“div”).sort(sortByValue).appendTo($container)代码>
全部的
航空公司
通风孔
太阳
一个
为什么不创建一个数组并根据值附加它们呢?