javascript - 获取 RadComboBox 客户端旧的勾选项

标签 javascript jquery asp.net telerik radcombobox

我的页面上有一个多选的 telerik RadComboBox 组件。我正在使用“OnClientDropDownClosed”客户端事件。我确实手动回发,而不是自动回发。我想要的是,当下拉菜单关闭时,我想将旧的选中项目与客户端的新选中项目进行比较。如何通过 javascript 获取旧的已勾选项目和新的已勾选项目?

最佳答案

我找到了解决方案。我保留旧的选定 IdList。在 rad 组合框关闭功能上,我比较了两个列表。

var oldSelectedIdList = [];

function radComboBoxSelectedIdList() {
            var selectedIdList = [];
            var combo = $find("<%= RadComboBox.ClientID %>");
            var items = combo.get_items();
            var checkedIndices = items._parent._checkedIndices;
            var checkedIndicesCount= checkedIndices.length;
        for (var itemIndex = 0; itemIndex < checkedIndicesCount; itemIndex++){
            var item = items.getItem(checkedIndices[itemIndex]);
            selectedIdList.push(item._properties._data.value);
        }
        return selectedIdList;
    }

    $(document).ready(function () {
        oldSelectedIdList = radComboBoxSelectedIdList();
    });

    function areThereAnyChangesAtTheSelection()
    {
        var selectedIdList = radComboBoxSelectedIdList();
        var isTheCountOfEachSelectionEqual = (selectedIdList.length == oldSelectedIdList.length);
        if(isTheCountOfEachSelectionEqual == false)
            return true;

        var oldIdListMINUSNewIdList = $(oldSelectedIdList).not(selectedIdList).get();
        var newIdListMINUSOldIdList= $(selectedIdList).not(oldSelectedIdList).get();

        if (oldIdListMINUSNewIdList.length != 0 || newIdListMINUSOldIdList.length != 0)
            return true;

        return false;
    }

    function onRadComboBoxClosed(sender, args) {
        if (areThereAnyChangesAtTheSelection())
             //Your Code Here
    }

关于javascript - 获取 RadComboBox 客户端旧的勾选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33667199/

相关文章:

javascript - 使用 dc.js 根据存储在字典中的已处理数据创建条形图

javascript - 浏览器是否持久缓存脚本元素的编译版本?

html - 在不使用 class= 的情况下为一种元素使用相同的 CSS

c# - 使用母版页清除 ASP.NET 页面中的所有控件

javascript - Angular 1.2.0-rc.3 指令优先级变更问题

javascript - Android 上缓慢的 Javascript 触摸事件

javascript - 生成后如何将事件绑定(bind)到元素

javascript - 专注于表格单元格/列

javascript - AJAX 文件上传后 $_POST 和 $_FILES 为空

asp.net - 我可以使用 Visual Studio 2010 开发 asp.net 3.5/2.0 项目吗?