【问题标题】:Setting Telerik RadTreeView attributes such as OnClientNodeExpanded via Javascript通过 Javascript 设置 Telerik RadTreeView 属性,例如 OnClientNodeExpanded
【发布时间】:2012-09-11 16:10:45
【问题描述】:

我有一个 RadTreeView,它可以被变量引用:TV

我不知道我是否可以只使用 jQuery 来执行 $(TV).attr("OnClientNodeExpanded","newvalue") 因为可能存在我可能不知道的服务器端链接。

当我在标记中定义我的 RadTreeView 时,它有 2 个属性:OnClientNodeExpanded 和 OnClientNodeClicked,它们被设置为一些 javascript 函数。

我的问题如下:

有没有办法通过一些参考来改变 OnClientNodeExpanded 和 OnClientNodeClicked 指向的位置,例如:*TV.set_ClientNodeExpanded("NEW_FUNCTION");*

我想根据点击的内容让 RadTreeView 填充不同的材料。

编辑以帮助阐明我的目标:asp.net 控件具有这些属性。这意味着这些函数实际上是 loadNode 和 clickedNode。我想要做的是更改上面列出的那些属性的引用以指向不同的函数。我不确定我是否想要一个中间“判断”函数来确定要调用哪些函数,而是一种覆盖当前声明的方法,即当 RadTreeView 事件发生时会触发什么。这说明清楚了吗?

【问题讨论】:

    标签: javascript telerik radtreeview


    【解决方案1】:

    在你的javascriptOnClientNodeClicked函数中,你可以检查哪个项目被点击,然后调用你想要的函数。

    function OnClientNodeClicked(sender, eventArgs) {
        var node = eventArgs.get_node();
    
        if(yourConditionHere){
            callFunctionA();
        }
        else{
            callFunctionB();
        }
    }    
    

    我理解正确吗?

    【讨论】:

    • 不完全是,asp.net 控件具有这些属性。 意思是函数,其实就是loadNode和clickedNode。我想要做的是更改上面列出的那些属性的引用以指向不同的函数。我不确定我是否想要一个中间“判断”函数来确定要调用哪些函数,而是一种覆盖当前声明的方法,即当 RadTreeView 事件发生时会触发什么。这说明清楚了吗?
    • 我明白你的意思了。但我怀疑这是否可能......您是否尝试过在每个节点元素上附加“onclick”属性(来自OnNodeDataBound 服务器事件)?
    • 没有。上面的每个属性在它们触发的情况下都有自己的事件。有关所有内容、事件和我正在尝试做的事情的文档位于:telerik.com/help/aspnet-ajax/treeview-client-events.html 我只是找不到它,我认为它可能位于我忽略的位置。
    猜你喜欢
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多