Лидеры рейтинга

ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

379

Россия, пос. Теплоозёрск, ЕАО


ID: 401284

Михаил Александров

Советник

378

Россия, Санкт-Петербург


ID: 401888

puporev

Профессор

216

Россия, Пермский край


ID: 405338

vovaromanov.jr

1-й класс

130


ID: 400669

epimkin

Профессионал

112


ID: 242862

Hunter7007

Мастер-Эксперт

30

Россия, Омск


ID: 137394

Megaloman

Мастер-Эксперт

26

Беларусь, Гомель


8.10.2

13.10.2021

JS: 2.10.2
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-10-19 18:16:01-standard


Создание программ на программной платформе .NET Framework и языках С# и Java.

Администратор раздела: Коцюрбенко Алексей Владимирович (Старший модератор)

Консультация онлайн # 160378

Раздел: .NET Framework / C# / Java
Автор вопроса: Trigger
Дата: 13.02.2009, 13:46 Консультация закрыта
Поступило ответов: 2

Здравствуйте, уважаемые эксперты! Есть такая проблема, в HTML форме есть 2 элемента: Checkbox и OptionBox. Необходимо сделать так, чтобы при щелчке на Checkbox'е OptionBox был бы доступен (т.е. если стоит галочка), и обратно, при снятии галочки Option недоступен. Помогите, пожалуйста, решить эту проблему.. Вот пример кода котрый только ставит галочку, но не снимают её:

Приложение:

Ответ # 243571 от Товарищ Бородин
Здравствуйте, Trigger!
При привязывании Вашего действия к событию ONCHANGE, все будет нормально. Единственное, чтобы я еще сделал, - это переделал присвоения без использования коллекций. То есть,

var woodgrObject = document.getElementById('woodgr');
Еще можно переделать немного CHECKBOX - добавить атрибут value="1". Тогда функцию можно переделать так.
function skill(value)
{
woodgrObject.disabled = value;
}

Если в ONCHANGE написать вот так: skill(this.value), то код хитрым образом сокращается в размерах и становится лаконичнее.
С уважением, Товарищ Бородин

Товарищ Бородин

Посетитель
13.02.2009, 14:12
Ответ # 243572 от BahuL
Здравствуйте, Trigger!
У вас в условии проверки не сравнение переменных а присваивание значения...
Так как вы предоставили не совсем полный скрипт, я добавил в него недостающие элементы и получилось так

Приложение:


BahuL

Посетитель
13.02.2009, 14:14
Мини-форум консультации # 160378
Товарищ Бородин

1

= общий =    13.02.2009, 14:04

Секундочку, что-то я напутал, по-моему... Сейчас исправлю...

Иван Сергеевич

2

= общий =    13.02.2009, 14:09

Навскидку:

Код
<label>CheckBox<input type='checkbox' id='checkbox' onclick='document.getElementById("optionbox").disabled = !this.checked'></label>
<label>OptionBox<input type='checkbox' id='optionbox' disabled></label>

Товарищ Бородин

3

= общий =    13.02.2009, 14:13

Ух ты... Практически одно и тоже получилось... smile Пожалуй, действительно, вместо this.value лучше подставить !this.checked. Это будет правильнее.

неизвестный

4

= общий =    13.02.2009, 14:15

Спасибо большое, второй вариант подошел!!

Иван Сергеевич

5

= общий =    13.02.2009, 14:20

this.value использовать нельзя, т.к. там может храниться значение для передачи вместе с submit формы. Насчет инверсии значения с false на true и обратно (второй вариант) - не уверен насчет двойных щелчков и прочих непредсказуемых ситуаций, надо проверять... А если все нормально, то можно записать короче:

Код
woodgrObject.disabled = !woodgrObject.disabled;

Товарищ Бородин

6

= общий =    13.02.2009, 14:27

Так не надо выполнять это по onclick, и никакие двойные щелчки не сработают! ONCHANGE работает независимо от того, был ли по чекбоксу двойной щелчок или одинарный. Изменилось у чекбокса состояние - действие выполняется.

Иван Сергеевич

7

= общий =    13.02.2009, 14:30

Согласен. Совсем забыл про это полезное событие

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 122

Коцюрбенко Алексей Владимирович

Старший модератор

Рейтинг: 48

solowey

Академик

Рейтинг: 4

CradleA

Мастер-Эксперт

Рейтинг: 2

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Асмик Гаряка

Советник

Рейтинг: 0