在RadTreeView的Telerik RadTreeNode的节点模板中找到单选按钮控件

问题描述 投票:0回答:1

我试图在rad树视图的节点模板中找到一个单选按钮控件。在JavaScript中,我可以获得所有节点,但不能获得此无线电控制。

我的要求是带有复选框的树状视图和2个用于项目选项的单选按钮。

我在asp.net中使用以下代码

<div>
                <telerik:RadTreeView ID="Tree" runat="server" ShowLineImages="True" CheckBoxes="true"> 
                <Nodes> 
                   <telerik:RadTreeNode runat="server" Text="Product" Expanded="false">
                    <Nodes>
                        <telerik:RadTreeNode Text="Item 1">
                            <Nodes>
                                <telerik:RadTreeNode runat="server" Text="Type" Checkable="false">  
                                <NodeTemplate> 
                                    <div> 
                                        <asp:RadioButton runat="server" ID="RB1" Text="Option 1" GroupName="StandardTags" /><br /> 
                                        <asp:RadioButton runat="server" ID="RB2" Text="Option 2" GroupName="StandardTags" />
                                    </div> 
                                </NodeTemplate> 
                                </telerik:RadTreeNode>
                            </Nodes>
                        </telerik:RadTreeNode>

                        <telerik:RadTreeNode Text="Item 2">
                            <Nodes>
                                <telerik:RadTreeNode runat="server" Text="Type" Checkable="false">  
                                <NodeTemplate> 
                                <div> 
                                    <asp:RadioButton runat="server" ID="RB3" Text="Option 1" GroupName="StandardTags" /><br /> 
                                    <asp:RadioButton runat="server" ID="RB4" Text="Option 2" GroupName="StandardTags" />
                                </div> 
                                </NodeTemplate> 
                                </telerik:RadTreeNode>
                            </Nodes>
                        </telerik:RadTreeNode>
                    </Nodes>
                    </telerik:RadTreeNode>
                </Nodes> 
                </telerik:RadTreeView>        
                <telerik:RadButton runat="server" OnClientClicked="findControl" Text="Find Control" AutoPostBack="false"></telerik:RadButton>

           </div>

我试图在这样的JavaScript中获取节点

function findControl() {
              var tree = $find('<%=Tree.ClientID%>');
              var element = tree.findNodeByText("Item 1").get_text();

              alert('You have selected ' + element);
          }

但我找不到任何选项来选择'项目1'中的单选按钮。

我需要获取节点和选择的单选按钮值。

如果还有其他任何可以实现此功能,请建议。

非常感谢

javascript asp.net telerik
1个回答
0
投票

尝试在javascript中查找控件时,必须遵循相同的控件层次结构。

var tree = $find("<%= Tree.ClientID %>");

var cDiv = tree.findNodeByText("Item 1").get_nodes().getNode(0).get_contentElement();

var radioBtn = $(cDiv).find("input:radio");

radioBtn.each(function (index, element) {

        alert(element.value + ' = ' + element.checked);

});

请注意,在findNodeByText(“Item 1”)之后,我获取所有子节点,然后获取第一个节点(包含文本“Type”的节点),然后使用get_contentElement();

之后,您可以使用常规jquery来查找单选按钮并根据需要对其进行操作。

Telerik客户端文档

RadTreeNode RadTreeNodeCollection

© www.soinside.com 2019 - 2024. All rights reserved.