Jquery 带复选框的Telerik MVC电网不工作
我知道我的代码是正确的,但我是否因为Telerik MVC网格“检查所有复选框”不起作用而遗漏了一些脚本?我正在使用jquery-1.7.1.min.jsJquery 带复选框的Telerik MVC电网不工作,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我知道我的代码是正确的,但我是否因为Telerik MVC网格“检查所有复选框”不起作用而遗漏了一些脚本?我正在使用jquery-1.7.1.min.js @(Html.Telerik().Grid<RenanNewTask.Models.RenanListViewModel>() .Name("RenanGrid") .DataKeys(dataKeys => dataKeys.Add(c => c.Org_UID)) .Columns(colu
@(Html.Telerik().Grid<RenanNewTask.Models.RenanListViewModel>()
.Name("RenanGrid")
.DataKeys(dataKeys => dataKeys.Add(c => c.Org_UID))
.Columns(columns =>
{
//columns.Bound(c => c.eff_date).Title("Effective Date").Format("{0:MM/dd /yyyy}").Width(20);
columns.Bound(c => c.eff_date).Title("Effective Date").ReadOnly(true).Format("{0:MM/dd/yyyy}").Width(20).Encoded(true)
.ClientTemplate("<input type='checkbox' name='checkedRecords' value='<#= eff_date #>' />")
.HeaderTemplate(
@<text>
<input type="checkbox" title="check all records" id="checkAllRecords" />
</text>
)
.Title("")
.Width(10)
.HeaderHtmlAttributes(new { style = "text-align:center" })
.HtmlAttributes(new { style = "text-align:center" });
columns.Bound(o => o.eff_date).Width(20);
columns.Bound(c => c.name_long).Title("Name Long").Width(20);
})
.DataBinding(dataBinding => dataBinding.Ajax()
.Select("GetOrgUID", "Renan"))
.Pageable(paging => paging.Style((GridPagerStyles.PageInput | GridPagerStyles.Numeric | GridPagerStyles.PageSizeDropDown | GridPagerStyles.NextPrevious)).Position(GridPagerPosition.Bottom).PageTo(1).PageSize(20))
.Scrollable(scrolling => scrolling.Height(250))
.Resizable(resizing => resizing.Columns(true))
)
@(Html.Telerik().Grid())
.名称(“RenanGrid”)
.DataKeys(DataKeys=>DataKeys.Add(c=>c.Org\u UID))
.列(列=>
{
//columns.Bound(c=>c.eff_date).Title(“生效日期”).Format(“{0:MM/dd/yyyy}”).Width(20);
columns.Bound(c=>c.eff_date).Title(“生效日期”).ReadOnly(true).Format(“{0:MM/dd/yyyyy}”).Width(20).Encoded(true)
.ClientTemplate(“”)
.校长职位(
@
)
.标题(“”)
.宽度(10)
.HeaderHtmlAttributes(新的{style=“text align:center”})
.HtmlAttributes(新的{style=“text align:center”});
columns.Bound(o=>o.eff_date).Width(20);
columns.Bound(c=>c.name_long).Title(“name long”).Width(20);
})
.DataBinding(DataBinding=>DataBinding.Ajax()
.选择(“GetOrgUID”、“Renan”))
.Pageable(paging=>paging.Style((GridPagerStyles.PageInput | GridPagerStyles.Numeric | GridPagerStyles.PageSizeDropDown | GridPagerStyles.NextPrevious)).Position(GridPagerPosition.Bottom).PageTo(1).PageSize(20))
.可滚动(滚动=>滚动高度(250))
.resizeable(resize=>resize.Columns(true))
)
脚本:
<script type="text/javascript" lanuage="javascript">
$('#checkAllRecords').click(function checkAll() {
$("#RenanGrid tbody input:checkbox").attr("checked", this.checked);
});
</script>
$(“#checkAllRecords”)。单击(函数checkAll(){
$(“#RenanGrid tbody input:checkbox”).attr(“checked”,this.checked);
});
其中一个原因可能是你太早了。此时可能无法将要附加事件的复选框插入DOM中
将代码包装到就绪事件中:
$(function() {
$('#checkAllRecords').click(function checkAll() {
$("#RenanGrid tbody input:checkbox").attr("checked", this.checked);
});
});
不确定,为什么要使用严重过时的jquery-1.7.1
。一两年前,剑道UI迁移到了jQuery3。当时我经历了地狱般的痛苦,因为他们推出了一些kendo.syncReady
。我不确定这是否与你的问题有关。我通过setTimeout
在事件堆栈末尾移动初始化逻辑:
$(function() {
setTimeout(function() {
$('#checkAllRecords').click(function checkAll() {
$("#RenanGrid tbody input:checkbox").attr("checked", this.checked);
});
});
});
cc@RickL如果你有同样的问题,我会发布一个答案。我没注意到这是你编辑的一个很老的问题。