根据已检查的属性对复选框列表进行排序

时间:2010-01-14 14:08:24

标签: c# asp.net javascript

我有一个check-box-List,它绑定到一个主数据表(DTA)...我有另一个dataTable(DTB),其值必须在复选框列表中检查...所以我遍历复选框列表中的所有项目以查看它是否存在于DTB中,并为那些存在的项目设置checked = true。

现在,我想首先在复选框列表框中显示选中的项目,并在下面显示未选中的项目。

我有什么方法可以做到这一点...... List-Box的类似解决方案也可能有所帮助。欢迎使用Javascript提示。

由于 - 拉贾

1 个答案:

答案 0 :(得分:1)

如果要对服务器端的复选框列表进行排序,可以先将DTB中的项目添加到复选框列表中,然后将其Selected值设置为true,然后将其他项目添加到DTA中, DTA中的每个项目都要确保它不在项目列表中 插入两个列表时,如果需要,请确保按照二级排序条件对它们进行排序。

如果您不需要在服务器端进行排序,则可以使用jquery轻松完成此操作。
你需要从服务器获取check_box_list_client_id,你可以使用
来做到这一点 $('#<%= CheckBoxList1.ClientID %>') jquery选择器。


    $(function() {  
        // get the containing element - should be an HTML table
        var cbl = $('#check_box_list_client_id');
        // check if the jquery element has any items in it
        if (cbl.length) {
            // get all the table rows, and filter out all those which
            // doesn't contain a checked checkbox
            var cbElements = cbl.find('TR').filter(function(index, element) {  
                return $(this).find('input:checked').length;  
            });  
            // take each table row containing a checked checkbox and place it
            // at the top of your check-box-list element we called cbl
            cbElements.each(function() {  
                $(this).prependTo(cbl);  
            });  
        }  
    });

就是这样,希望它能帮到你所需要的地方。