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

时间:2019-03-01 09:10:23

标签: javascript asp.net telerik

我试图在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”中选择单选按钮的任何选项。

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

如果还有其他方法可以实现此功能,请提出建议。

非常感谢

1 个答案:

答案 0 :(得分: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”的节点),然后使用< em> get_contentElement();

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

Telerik客户端文档

RadTreeNode RadTreeNodeCollection