- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只是尝试设置客户端 RadListView 项目模板内的 telerik RadButton 的复选框(使用 javascript/jquery)。
RadListView:
<telerik:RadListView runat="server"
ID="parameterList"
OnNeedDataSource="parameterList_NeedDataSource">
<ItemTemplate>
<tr>
<td>
<telerik:RadButton ToggleType="CheckBox"
ButtonType="LinkButton"
runat="server"
ID="chkParameterType"
AutoPostBack="False"
Text='<%# Eval("Description") %>
CssClass='<%# Eval("ParameterName") + "_button" %>'>
<ToggleStates>
<telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleCheckboxChecked"/>
<telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleCheckbox" />
</ToggleStates>
</telerik:RadButton>
</td>
</tr>
</ItemTemplate>
</telerik:RadListView>
我的 jquery 尝试首先尝试使用 telerik 的库,如 this post 中所示。
var listView = $find('<%= parameterList.ClientID %>');
var txbClientObject = $telerik.findControl(listView.get_element().parentNode,
"chkParameterType").get_value()
var current = txbClientObject.get_value();
但是 txbClientObject
返回为未识别状态,因此 current
因 cannot read property of null
而中断
我还尝试在直接 jquery 中按类名查找按钮。我担心这一点,因为我相信不同浏览器中的渲染可能会有所不同。
var button = $("." + name + "_button > input"); //"name" is parameterName
button.prop("checked", true);
这不会出错,并且通过它进行调试,它找到了按钮(或跨度),但也无法选中该框。
关于我做错了什么有什么想法吗?
最佳答案
您运行此代码的事件是什么?它至少必须是 Sys.Application.Load 事件,否则控件实例可能仍然未定义。
此外,您在 Text 属性处还有一个额外的 %>
,这会破坏编译。
然后,findControl() 将为您提供控件实例,您不需要在那里调用 get_value() 。
您应该考虑的是您想要哪个按钮,因为 ListView 可以有多个项目,而这将为您提供第一个。
所以,这是对我有用的东西:
<telerik:RadListView runat="server"
ID="parameterList"
OnNeedDataSource="parameterList_NeedDataSource">
<ItemTemplate>
<tr>
<td>
<telerik:RadButton ToggleType="CheckBox"
ButtonType="LinkButton"
runat="server"
ID="chkParameterType"
AutoPostBack="False"
Text='<%# Eval("Description") %>'
CssClass='<%# Eval("ParameterName") + "_button" %>'>
<ToggleStates>
<telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleCheckboxChecked"/>
<telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleCheckbox" />
</ToggleStates>
</telerik:RadButton>
</td>
</tr>
</ItemTemplate>
</telerik:RadListView>
<asp:Button ID="Button1" Text="get first button" OnClientClick="getFirstButton(); return false;" runat="server" />
<script>
function getFirstButton() {
var listView = $find('<%= parameterList.ClientID %>');
var txbClientObject = $telerik.findControl(listView.get_element().parentNode,
"chkParameterType");
var current = txbClientObject.get_value();
alert(txbClientObject.get_checked());
alert(txbClientObject.get_text());
txbClientObject.set_checked(true);
}
</script>
这是一个更完整的示例,它将向您展示如何使用 CSS 类来获取任何所需的元素,并且还将通过指定 LayoutTemplate 提供有效的 HTML:
<telerik:RadListView runat="server"
ID="parameterList"
OnNeedDataSource="parameterList_NeedDataSource"
ItemPlaceholderID="theItemPlaceHolder">
<LayoutTemplate>
<table>
<asp:PlaceHolder ID="theItemPlaceHolder" runat="server" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td class="buttonCell">
<telerik:RadButton ToggleType="CheckBox"
ButtonType="LinkButton"
runat="server"
ID="chkParameterType"
AutoPostBack="False"
Text='<%# Eval("Description") %>'
CssClass='<%# Eval("ParameterName") + "_button" %>'>
<ToggleStates>
<telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleCheckboxChecked"/>
<telerik:RadButtonToggleState PrimaryIconCssClass="rbToggleCheckbox" />
</ToggleStates>
</telerik:RadButton>
</td>
</tr>
</ItemTemplate>
</telerik:RadListView>
<asp:Button ID="Button1" Text="get third button" OnClientClick="getThirdButton();return false;" runat="server" />
<script>
function getThirdButton() {
var listView = $find('<%= parameterList.ClientID %>');
var buttonCells = $telerik.$(".buttonCell", listView.get_element().parentNode);
var txbClientObject = $telerik.findControl(buttonCells[2],
"chkParameterType");
var current = txbClientObject.get_value();
alert(txbClientObject.get_checked());
alert(txbClientObject.get_text());
txbClientObject.set_checked(true);
}
</script>
关于javascript - 检查 RadListView ItemTemplate 中的 RadButton 复选框 - 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28416077/
我有一个带有许多ItemTemplates的ListView。每个ItemTemplate中有一个Repeater,显示每个ItemTemplate中的文件列表(即类别)。目前,所有类别中的所有文件都
我有一个“报告”页面,该页面将根据表格中的事件报告数量显示动态数量的按钮(格式为 ASP:Hyperlinks)。除了我想要的显示,我可以让一切正常工作。我想并排查看我的按钮(左边是“ItemTemp
我有一个 UserControl我用来显示 UIElement 的列表s。该控件由单个 ItemsControl它是 ItemPanelTemplate切换为水平 StackPanel , 它的 It
我在 ListBox 中使用 ComboBox 作为 ItemTemplate。我的 ComboBox 是可编辑的。当用户在组合框中使用鼠标滚轮时,它会更改当前值。我不想要那个。我想让 ListBox
我有服务器控件,例如在另一个 gridview 的模板字段中带有 gridview 的弹出窗口:
我有一个显示 2 个列表的窗口,它们应该使用相同的模板,所以我考虑将模板放入我的窗口中的资源中,如下所示:
我确信这很简单,但我似乎无法弄清楚如何去做。基本上我有一个来自 azure 移动服务数据库的客户列表。到目前为止一切正常,但我想根据数据为列表框中的每个项目设置项目模板。我有 2 个模板,一个用于公司
我有一个用户控件,它为该控件定义了一个 ItemsControl 和一个 ItemTemplate,即,
我正在处理icons.XAML 图像,将它们插入到文本块上方的按钮中。一切看起来都很棒,直到我将鼠标悬停在图像本身上。一个灰色框只出现在图片上: 如何摆脱灰盒? 这是其中一个图标: 这是
我正在创建一个带有绑定(bind)到项目名称的列表框的 WPF 应用程序。作为装饰元素,我想在列表中的每个项目旁边放置一个小图标,类似于 Outlook 在其个人文件夹列表中所做的方式。对于初学者,我
当 PivotItem 声明为: Text 但是我在使用绑定(bind)的时候如何设置Margin:
我有一个使用 MVVM 的 WPF 应用程序。 此代码来 self 的 ResourceDictionary.xaml
我试图显示一个 ComboBox,其 ItemsSource 是控件的集合(它是 PropertyGrid 的一部分,ComboBox 应该显示控件的名称,并且用户应该能够选择其中一个控件)。这是该问
我希望这个 Ellipse 从其对应的 BallViewModel 中获取其坐标,并使用它们来确定其在 Canvas 内的位置。 球列表绑定(bind)List在 mainviewmodel 中,因此
我有一个带有ItemTemplate的以下ListBox
我有一个 ListView与 ItemTemplate .对于我 ItemSource 中的每个项目,我想遍历项目中的一个属性并在我的 ViewCell 中创建一个部分. 所以每一项都是 Downlo
我有一个 ListBox 控件的情况。在项目模板内有一个按钮。当我单击按钮时,我想将所述 ListBox 的所选项目更改为按钮所在的项目。目前,我可以通过单击项目模板中的其他位置来更改所选项目,但如果
我为 ListViewItem 创建了一个模板。 它并没有填满所有的空间。 我的模板如下:
我为 ListViewItem 创建了一个模板。 它并没有填满所有的空间。 我的模板如下:
我有一个 MenuItem 类型的 WPF 控件模板:
我是一名优秀的程序员,十分优秀!