jquery отключить несколько выпадающих списков при включении флажка

#php #jquery #checkbox #drop-down-menu

#php #jquery #флажок #выпадающее меню

Вопрос:

Часть моей формы — это место, где пользователи могут выбирать дни, когда они закрыты, а также часы работы в дни, когда они открыты.

Я сделал скрипку, это должно прояснить ситуацию.

Эта форма генерируется динамически на php, потому что она должна быть многоязычной.

http://jsfiddle.net/ZXSKH/

Мне нужна помощь в том, как отключить выпадающие списки на определенный день, когда они устанавливают флажок для закрытия в этот день.

Кроме того, значения будут отправлены в базу данных, есть идеи, как мне отключить значения выпадающих списков (часы работы), когда они не открыты в этот день?

Ответ №1:

Вы упомянули, что каждое поле ввода (флажки, выпадающие списки …) создаются динамически, поэтому используйте атрибут value каждого флажка для запуска действия включения / выключения.

Я отредактировал вашу скрипку: http://jsfiddle.net/ZXSKH/16 /

Боюсь, я не очень хорошо знаком с MooTools, поэтому я написал небольшой скрипт с использованием jQuery, но я надеюсь, что его можно было бы переписать с помощью MooTools без особых хлопот.

Кстати, я настоятельно рекомендую заключать все атрибуты в двойные кавычки, хотя я думаю, что современный браузер справится с этим без каких-либо проблем. Кроме того, я почти уверен, что for атрибут of label используется для идентификаторов элементов, а не имен.

Надеюсь, это немного поможет…

Комментарии:

1. Вау, спасибо за редактирование скрипки, единственное, что выпадающие списки необходимо отключить, как только пользователь выберет день. Противоположно тому, как сейчас. Не могли бы вы отредактировать это в скрипке. Я был бы очень благодарен!!

2. Мне удалось переключить его, и теперь он работает в скрипке: jsfiddle.net/ZXSKH/30 Есть какие нибудь идеи, почему это не работает в моей полной форме? Это потому, что div вложен в другие divs?

3. Исправлено, я забыл добавить идентификатор для набора полей. теперь он работает в основной форме 2. Большое спасибо за помощь.

4. О, извините, я был вдали от компьютера в течение всего дня… рад, что смог вам помочь 🙂

Ответ №2:

Вы можете указать id поля выбора и флажки и использовать атрибут disabled, чтобы отключить поле выбора, как показано ниже:

$('#id').attr('disabled','disabled');

Комментарии:

1. Есть идеи о том, как очистить / изменить значение после отключения выпадающих списков?

2. $('#id').find('option').remove() удалит все опции.

3. И если вы хотите добавить новые значения после удаления предыдущих, попробуйте это: $('#id').find('option').remove().end().append('<option value="val">text</option>');

Ответ №3:

вы можете запустить событие при установке флажка и использовать приведенный выше ответ, как предложено ниже