我在 ASP 项目转发器中有很多复选框:
<asp:Repeater ID="rpPostes" runat="server" DataSource="<%# this.ItemsPostesBudgetaires %>">
在中继器的某处,一个复选框描述为:
<asp:CheckBox runat="server" Class="chk" ID="chkPieceJust" Text="Recues" Visible="<%# Mode.HasFlag(ModeType._BoutonsApprobation) %>" Enabled="<%# CheckBoxDispo() %>" Checked="<%# CheckBoxChecked(Container.DataItem as Transaction) %>" />
在所有这些的最后,一个按钮应该将每个复选框都设置为 true :
<input id="chkAllPieceJust" type="button" value="Toutes Pièces Justificatives Recues" onclick="CTCC.Transactions.PieceRecuClick(this);" />
最后是我的 jQuery 函数:
CTCC.Transactions.PieceRecuClick = function (source) {
$('.chk').attr('checked', true);
}
我点击按钮后发生的是那种html输出:
<span class="chk" checked="checked"><input ... blablabla
但是没有任何反应,复选框根本没有被选中...
我不知道我还需要什么......
最佳答案
Checkbox
控件的 CssClass
属性实际上将该类应用于包装复选框本身的 span
元素。您可以通过在代码隐藏中分配类来将类直接应用于复选框元素,如下所示:
MyCheckBox.InputAttributes["class"] = "chk";
或者修改你的 jquery 来寻找 .chk
元素的 input 子元素,像这样
$(".chk input[type='checkbox']").prop('checked', true);
关于javascript - jQuery 和复选框,我看不到变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32831101/