У меня есть некоторые элементы ввода на странице, и я пытаюсь включить их или отключить их в соответствии с настройкой пары переключателей. Я использую следующую функцию Javascript (консольный каротаж добавил для меня, чтобы увидеть, что происходит) ...jQuery отключение ввода не работает
function EnableIndividualOrCompanyControls(individual) {
console.log("EnableIndividualOrCompanyControls(" + individual + ")");
console.log("Title value is " + $("#Title").val());
console.log("Title was " + $("#Title").prop("disabled"));
$("#Title").prop("disabled", !individual);
console.log("Title is now " + $("#Title").prop("disabled"));
console.log(" ");
$("#Surname").prop("disabled", !individual);
$("#CompanyName").prop("disabled", individual);
}
Когда значение радио кнопки изменяется, метод вызывался, и параметр имеет правильный но входные данные Title, Surname и CompanyName не отключены.
Как образец из консоли выглядит следующим образом ...
EnableIndividualOrCompanyControls(false)
Title value is Sir
Title was false
Title is now false
Таким образом, функция вызывается, параметр имеет правильное значение, я правильно получать входной элемент заголовка (как вы можете увидеть из-за того, что он правильно сообщает, что его значение - «сэр»), но элементы не отключены.
Странно, что я использую точно такой же код в другом месте на странице, и он отлично работает. Эта функция работает ...
function EnableOnlineControls(enable) {
$("#UserName").prop("disabled", !enable);
$("#Password").prop("disabled", !enable);
$("#PasswordAgain").prop("disabled", !enable);
}
Кто-нибудь знает, почему первый не работает? В случае, если это помогает, вот HTML для этих элементов формы (окружающие дивы удалены для ясности) ...
<input class="form-control" id="Title" name="Title" value="" />
<input class="form-control" id="Surname" name="Surname" value="" />
<input class="form-control" id="CompanyName" name="CompanyName" value="" />
Я попытался заменить двойные кавычки одинарными, но это не имеет никакого значения.
Предлагаю вам построить скрипку, на моей машине, ваш код работает. –
ОК, здесь идет ... http://jsfiddle.net/g2ftjq8L/ - если вы нажмете галочку «Доступ в Интернет», правильность включения/выключения управления имени пользователя и пароля будет правильно, но если вы измените «индивидуальный/«радиокнопки», название, имя, фамилия и название компании не изменяются. Thx –
Просто заметил, что скрипка включает предложение ArinCool, а также для одного из элементов управления, но, как вы можете видеть, ни один подход не работает. –