根据值(按特定顺序)对复选框进行排序

时间:2017-05-22 19:31:19

标签: 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_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>

以下代码根据值进行排序(从高到低):

function sortByID(a, b)
{
return (a.children(“input”).val() > b.children("input").val()) ? 1 : -1;
}

var container = jQuery("div.wpgmza_filter_container");
container.children("div").sort(sortByID).appendTo(container);

是否可以根据我定义的值列表对它们进行排序? 我希望它们按此顺序显示(基于值): 3,5,0,1,2

1 个答案:

答案 0 :(得分:3)

要以非顺序方式对项目进行排序,您可以指定数组中的顺序,然后比较该数组中给定值的MyDbContext

回答你的previous question,你可以像这样扩展逻辑:

&#13;
&#13;
MyDbContext
&#13;
indexOf()
&#13;
&#13;
&#13;