【发布时间】:2015-08-24 13:35:52
【问题描述】:
我有一个gridview,我添加了一个复选框列。
使用复选框全选,我使用jQuery 来检查所有复选框。
以下代码是我尝试过的,
function checkBoxSelectAll() {
$("#chkSelectAll").click(function () {
$('input:checkbox').not(this).prop('checked', this.checked);
});
}
我在 MVC5 中使用了 DevExpress Gridview,这是我在 View 中的代码
@(Html.DevExpress()
.GridView(settings =>
{
//settings.Settings.ShowVerticalScrollBar = true;
settings.Height = Unit.Percentage(100);
settings.SettingsPager.Mode = GridViewPagerMode.ShowAllRecords;
settings.Settings.ShowFooter = true;
settings.Name = "gvw1";
settings.Width = Unit.Percentage(100);
settings.CallbackRouteValues = new
{
Controller = "Vehicle",
Action = "ListPartial"
};
settings.SettingsBehavior.AllowGroup = false;
settings.SettingsBehavior.AutoExpandAllGroups = true;
settings.KeyFieldName = "Id";
settings.Columns.Add("VehicleGroupName", Html.GetResource("group")).GroupIndex = 0;
settings.Columns.Add(column =>
{
column.SetHeaderTemplateContent(content =>
{
ViewContext.Writer.Write(string.Format("<input type='checkbox' name='chkSelectAll' id='chkSelectAll' onchange='checkBoxSelectAll()'/>"));
});
column.SetDataItemTemplateContent(c =>
{
ViewContext.Writer.Write(string.Format("<input type='checkbox' name='chkID' id='" + @c.KeyValue + "' />"));
});
});
Devexpress Gridview 在下面生成 HTML
<tr id="gvw1_DXDataRow1" class="dxgvDataRow_DevEx">
<td class="dxgvIndentCell dxgv" style="width:0px;border-left-width:0px;border-bottom-width:0px;"> </td>
<td id="gvw1_tccell1_1" class="dxgv" style="border-left-width:0px;">
<input type="checkbox" name="chkID" id="1657">
</td>
</tr>
它在 Chrome、Safari、Opera、IE11、Microsoft Edge 中运行良好。 但是在Firefox中,第一次,它不起作用。 (当我单击复选框全选时,未选中此网格视图中的所有复选框)。 然后我取消选中复选框全选,然后我再次检查它,它工作,gridview中的所有复选框都被选中。
谁能告诉我为什么?
我正在使用jQuery 1.9.1。
对不起,我的英语不好。
非常感谢,
张梅
【问题讨论】:
-
添加您的完整代码、HTML 和 Javascript,以及何时调用
checkBoxSelectAll -
$("#chkSelectAll").click(function () {我认为不需要在那里....function checkBoxSelectAll() { var $all = $("#chkSelectAll"); $('input:checkbox').not($all).prop('checked', $all[0].checked); } -
可以在 Question 中包含
html,js吗? -
感谢您的回答,我已经在这个问题中添加了我的 HTML 代码。
标签: javascript jquery gridview checkbox