我有一個gridview,我添加了一個複選框列。爲什麼不復選框首次選擇所有不適用於Firefox的?
隨着複選框,選中所有,我使用jQuery
檢查所有的複選框。
下面的代碼是什麼,我都試過了,
function checkBoxSelectAll() {
$("#chkSelectAll").click(function() {
$('input:checkbox').not(this).prop('checked', this.checked);
});
}
我使用的DevExpress GridView的在MVC5,這是我在查看代碼
@(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中的所有複選框都沒有選中)。 然後,我取消選中複選框全選,然後再次檢查它,它工作,GridView中的所有複選框將被檢查。
任何人都可以告訴我爲什麼?我正在使用jQuery 1.9.1
。
對不起,我的英語不好。
非常感謝,
張庭麥
添加您的完整代碼,HTML和Javascript,也當'checkBoxSelectAll'被稱爲 – Tushar
'$( 「#chkSelectAll」)。點擊(函數(){'不必我認爲....'function checkBoxSelectAll(){ var $ all = $(「#chkSelectAll」); $('input:checkbox')。not($ all).prop('checked',$ all [0] .checked); }' –
可以包含'html','js'在問題? – guest271314