Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.06.2017, 01:47
reh reh вне форума
Аспирант
Отправить личное сообщение для reh Посмотреть профиль Найти все сообщения от reh
 
Регистрация: 29.06.2014
Сообщений: 34

Блокировка инпутов
Есть код

Код:
    <div class="week_day_wrapper">
        <div class="work_week_day">Воскресенье</div>
        <div>
            <div class="work_day_span">с</div>
            <input maxlength="2" type="text" name="sunday_open_h" class="hours" value="{*.sunday_open_h*}"/>
            <span>:</span>
            <input maxlength="2" type="text" name="sunday_open_m" class="minutes" value="{*.sunday_open_m*}"/>
        </div>
        <div style="margin-top: 5px;">
            <div class="work_day_span">до</div>
            <input maxlength="2" type="text" name="sunday_close_h" class="hours" value="{*.sunday_close_h*}"/>
            <span>:</span>
            <input maxlength="2" type="text" name="sunday_close_m" class="minutes" value="{*.sunday_close_m*}" pattern="[0-5][0-9]"/>
        </div>
        <div class="day_off_week">
            <input type="checkbox" id="checkbox7" name="check_sunday"/>
            <label for="checkbox7">Выходной</label>
        </div>
    </div>
Непойму как сделать чтобы по клику по <input type="checkbox" id="checkbox7" name="check_sunday"/>
4 инпута делались неактивными? Никак понять не могу почему так не работает

$('.day_off_week :checkbox').on('change', function(){ 

                $(this).parent().parent('input[type="text"]').attr('disabled', 'disabled');
            })

Последний раз редактировалось reh, 11.06.2017 в 01:59.
Ответить с цитированием
  #2 (permalink)  
Старый 11.06.2017, 02:58
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

$(this).parent().siblings('div').children('input[type="text"]').attr('disabled', 'disabled');
Ответить с цитированием
  #3 (permalink)  
Старый 11.06.2017, 03:03
reh reh вне форума
Аспирант
Отправить личное сообщение для reh Посмотреть профиль Найти все сообщения от reh
 
Регистрация: 29.06.2014
Сообщений: 34

спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 11.06.2017, 03:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

reh,
.attr('disabled', 'disabled');

.prop('disabled', this.checked)
Ответить с цитированием
  #5 (permalink)  
Старый 11.06.2017, 10:13
reh reh вне форума
Аспирант
Отправить личное сообщение для reh Посмотреть профиль Найти все сообщения от reh
 
Регистрация: 29.06.2014
Сообщений: 34

laimas,
Спасибо за совет. Буду знать как проще сделать.

Но у меня нужно еще цвет менять и поле чистить, сделал так

if($(this).prop('checked')){
                    $('input[name="'+inp+'[]"]').val('').attr('disabled', 'disabled').css({'border':'1px solid #cac8c8'});
                }else{
                    $('input[name="'+inp+'[]"]').removeAttr('disabled').css({'border':'1px solid #33668d'});
                }
Ответить с цитированием
  #6 (permalink)  
Старый 11.06.2017, 16:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от reh
Буду знать как проще сделать
Это не проще, а нужно так, ибо и .attr('disabled', ''), и .attr('disabled', 'йцукен'), и как угодно, одно и тоже. Метод prop() предназначен для работы со свойствами, а не атрибутами, и хотя можно и так .attr('disabled', true/false).

'input[name="'+inp+'[]"]' - это некорректный селектор, такой селектор должен быть прописан так: 'input[name="'+inp+'\\[\\]"]'

$(this).prop('checked'), проще сразу: this.checked, а используя тернарный оператор сократить буковок в коде.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамически изменять "id" и "label for" у инпутов alex-tiesto jQuery 15 05.03.2017 18:55
Отправка данных динамически создаваемых инпутов windin Events/DOM/Window 13 25.09.2013 16:07
блокировка записи в БД на изменение в веб приложении igrok Серверные языки и технологии 8 04.07.2011 17:07
Проблема с Dialog. Блокировка элементов формы Vitus jQuery 1 28.02.2011 10:17
Определить включена ли блокировка всплывающих окон в Google Chrome neoweb Opera, Safari и др. 0 18.01.2010 10:53