Что вы можете сделать, это получить элемент метки для флажка, так как ASP.Net показывает Text
флажка как элемент метки, а затем изменит его атрибут цвета CSS на серый.
function EnableCheckBoxes(enable, chk) {
chk.prop("disabled", enable);
chk.prop("checked", false);
if(enabled === true) {
$("label[for='<%=cb1.ClientID%>']").css("color", "black");
} else {
$("label[for='<%=cb1.ClientID%>']").css("color", "gray")
}
}
Кроме того, для имитации отключенного эффекта, вы можете установить непрозрачность на что-то вроде .5 вместо того чтобы изменить атрибут цвета, а затем сбросить его на 1, если флажок включен. Код для этого приведен ниже.
function EnableCheckBoxes(enable, chk) {
chk.prop("disabled", enable);
chk.prop("checked", false);
if(enabled === true) {
$("label[for='<%=cb1.ClientID%>']").css("opacity", 1);
} else {
$("label[for='<%=cb1.ClientID%>']").css("opacity", .5)
}
}
Если вы хотите использовать chk
, а не получение ClientId от флажка, а затем использовать приведенную ниже версию же метода.
function EnableCheckBoxes(enable, chk) {
chk.prop("disabled", enable);
chk.prop("checked", false);
if(enabled === true) {
$("label[for='" + chk[0].id + "']").css("opacity", 1);
} else {
$("label[for='" + chk[0].id + "']").css("opacity", .5)
}
}
Лейбл! Не думал об этом. Неплохо. – Chase
Так ASP.Net отображает текст для флажка. – Sunil
@Sunil Вы объясняете ссылку CheckBox cb1, но мне нужно что-то более общее для работы с переданным в переменной - chk –