#php #jquery #checkbox #drop-down-menu
#php #jquery #флажок #выпадающее меню
Вопрос:
Часть моей формы — это место, где пользователи могут выбирать дни, когда они закрыты, а также часы работы в дни, когда они открыты.
Я сделал скрипку, это должно прояснить ситуацию.
Эта форма генерируется динамически на php, потому что она должна быть многоязычной.
Мне нужна помощь в том, как отключить выпадающие списки на определенный день, когда они устанавливают флажок для закрытия в этот день.
Кроме того, значения будут отправлены в базу данных, есть идеи, как мне отключить значения выпадающих списков (часы работы), когда они не открыты в этот день?
Ответ №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:
вы можете запустить событие при установке флажка и использовать приведенный выше ответ, как предложено ниже