我试图在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”中选择单选按钮的任何选项。
我需要获取节点和单选按钮的选定值。
如果还有其他方法可以实现此功能,请提出建议。
非常感谢
答案 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客户端文档