I'm trying to disable these dropdowns when Enable checkBox is not checked. This is my 1st go around on this and any guidance would be greatly appreciated.
Basically when the checkBox is disabled I'm trying to get the dropdown disabled. When checkBox is checked the dropdowns need to be enabled.
js:
$(document).ready(function () {
if ($("#userPermissions").checked) {
enableAll();
console.log("enableAll");
} else {
disableAll();
console.log("disableAll");
}
})
$('#userPermissions').change(function (e) {
//console.log('change');
if (this.checked) {
enableAll();
console.log('change1');
} else {
disableAll();
console.log('change2');
}
});
function enableAll() {
$("#userSettingsBottom :input").prop("disabled", false);
console.log("enabled");
}
function disableAll() {
$("#userSettingsBottom :input").prop("disabled", true);
console.log("disabled");
}
cshtml:
<section class="well ">
<div class="row">
<div class="col-lg-12 gutter-0">
<div class="row gutter-0">
<div class="col-sm-6 col-md-6 col-lg-8">
<div class="box-placeholder">
<div>
@Html.Label(Resources.USERS_Settings, htmlAttributes: new { @class = "control-label", maxlength = "15", style = "font-weight: bold; font-size: 15px; display: inline;" })
</div><br />
<div>
@Html.Kendo().CheckBoxFor(model => model.EnableUserLogin.BoolValue).Label(Resources.Users_EnableSecurity).HtmlAttributes(new { @class = "cti-db-numvalue cti-up-EnableUserLogin", id = "userPermissions", type = "checkbox" })
@Html.ValidationMessageFor(model => model.EnableUserLogin, "", new { @class = "text-danger" })
</div>
</div>
</div>
</div>
<div class="col-lg-12 gutter-0">
<div class="col-sm-6 col-md-6 col-lg-8">
<div class="box-placeholder">
@Html.Kendo().CheckBoxFor(model => model.EnableTransferOnLoginScreen.BoolValue).Label(Resources.Users_EnableTransferOnLoginScreen).HtmlAttributes(new { @class = "cti-db-numvalue cti-up-EnableTransferOnLoginScreen" })
</div><hr />
</div>
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-12">
<div class="row gutter-10">
<div class="col-sm-6 col-md-6 col-lg-8">
<div id="userSettingsBottom" class="box-placeholder" style="outline: none;">
<div>
@Html.Label(Resources.USERS_CustomFieldOption, htmlAttributes: new { @class = "control-label", style = "font-weight: bold; font-size: 14px; display: inline;" }) 
@Resources.USERS_SelectedField
</div>
<div class="col-sm-4 col-md-4 col-lg-4">
<div>
@Html.Label(Resources.Users_InboundUserIDField, htmlAttributes: new { @class = "control-label" })
</div>
@Html.Kendo().DropDownListFor(model => model.InboundUserIDField).HtmlAttributes(new { @class = "cti-db-numvalue cti-up-InboundUserIDField" })
</div>
<div class="col-sm-4 col-md-4 col-lg-4">
<div>
@Html.Label(Resources.Users_DeliverUserIDField, htmlAttributes: new { @class = "control-label" })
</div>
@Html.Kendo().DropDownListFor(model => model.DeliverUserIDField).HtmlAttributes(new { @class = "cti-db-numvalue cti-up-DeliverUserIDField" })
</div>
</div>
</div>
</div>
</div>
</div>
<scriptblock is located which contains this JS. If it's after the HTML/Razor code then you should be ok, but if it's before it then you'll have the issue I've mentioned.