X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> jquery проблема с attr disabled
scanread
scanread
Topic Starter сообщение 1.5.2014, 4:19; Ответить: scanread
Сообщение #1


ДЕТАЛИ В ПРОФИЛЕ
******

Группа: Active User
Сообщений: 1009
Регистрация: 16.12.2009
Поблагодарили: 182 раза
Репутация:   56  


Доброго времени суток, уважаемые маулчане.

Хочу спросить у знающих, в чем может быть проблема. Есть квери скрипт:

Код
$(document).ready(function(){
            for(i=1;i<=7;i++)
                
                    if($('#dni'+i).attr('selected'))
                    {
                        $('#time_tuda'+i).attr('disabled',false);
                        $('#time_ottuda'+i).attr('disabled',false);
                    }
                    else
                    {
                        $('#time_tuda'+i).attr('disabled',true);
                        $('#time_ottuda'+i).attr('disabled',true);
                    }
                
        });
    
        $(document).click(function(data){
            
            for(i=1;i<=7;i++)
                {
                    if($('#dni'+i).attr('selected'))
                    {
                        $('#time_tuda'+i).attr('disabled',false);
                        $('#time_ottuda'+i).attr('disabled',false);
                    }
                    else
                    {
                        $('#time_tuda'+i).attr('disabled',true);
                        $('#time_ottuda'+i).attr('disabled',true);
                    }
                }
                
        });
        
        $(document).ready(function () {
            $('#napravlenie').change(function () {
                if (this.value == "1") {
                   $('#nap_tuda').show();
                    $('.nap_ottuda').hide();
                } else {
                   $('#nap_tuda').show();
                    $('.nap_ottuda').show();
                }

            });
        });


Последнее по $('#napravlenie').change(function () { работает. А все что до него - нет. Сам хтмл:

Код
<table width="100%"  style="min-width:400px;min-height:200px;" >
        <tr>
        <td>День недели<span style="color:red" >*</span></td>
        <td>Отправление туда<span style="color:red" >*</span></td>
        <td class="nap_ottuda" style="display:none;" >Отправление назад<span style="color:red" >*</span></td>
        </tr>
        <tr>
                <td width="37%" >
                <select name="dni[]" id="dni" size=7 multiple >
                    <option id="dni1" value="1" >Понедельник</option>
                    <option id="dni2" value="2" >Вторник</option>
                    <option id="dni3" value="3" >Среда</option>
                    <option id="dni4" value="4" >Четверг</option>
                    <option id="dni5" value="5" >Пятница</option>
                    <option id="dni6" value="6" >Суббота</option>
                    <option id="dni7" value="7" >Воскресенье</option>
                </select>
                </td>
                <td id="nap_tuda" width="33%" >
                    {php}
                        for($i=1;$i<=7;$i++)
                        {
                            echo '<input type="text" size="5" class="time"  name="time_tuda['.$i.']" id="time_tuda'.$i.'" value="00:00" ><br>';
                        }
                    {/php}
                </td>
                <td class="nap_ottuda" width="33%" style="display:none" >
                    {php}
                        for($i=1;$i<=7;$i++)
                        {
                            echo '<input type="text" size="5" class="time" name="time_ottuda['.$i.']" id="time_ottuda'.$i.'" value="00:00" ><br>';
                        }
                    {/php}
                </td>
        </tr>
        <tr><td colspan="5" ><small>Для множественного выбора используйте Ctrl</small></td></tr>
        </table>


Т.е., когда выбираю день недели, то все инпуты получают атрибут disabled, а необходимо, чтобы напротив выбранного дня был активный инпут. Остальные в которых дни не выбраны - в дисабл. Должно работать, но почему-то не работает. Тестировал на jQuery v1.10.2.

Подскажите, кто в курсе, что не так? Заранее благодарю.

Сообщение отредактировал scanread - 1.5.2014, 4:20


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
makedonskiy
makedonskiy
сообщение 1.5.2014, 21:21; Ответить: makedonskiy
Сообщение #2


Частый гость
**

Группа: User
Сообщений: 75
Регистрация: 31.1.2014
Поблагодарили: 23 раза
Репутация:   4  


В новых версиях jQuery вместо attr лучше и даже нужно использовать prop.

Вот попробуйте вот такой вариант

Код
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(function(){
    $.each($('option[id^="dni"]'), function(i, o){
        $('#time_tuda'+(i+1)).prop('disabled', !($(o).is(':selected')));
        $('#time_ottuda'+(i+1)).prop('disabled', !($(o).is(':selected')));
    });
    
    $('#napravlenie').change(function() {
        if(this.value == "1") {
            $('#nap_tuda').show();
            $('.nap_ottuda').hide();
        } else {
            $('#nap_tuda').show();
            $('.nap_ottuda').show();
        }
    });
});
</script>


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыОцените сайт "бизнес, новости, право". В чем проблема?
22 Merzuka 3172 23.5.2018, 12:15
автор: nikolay_web
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
20 qpPeW 5756 30.4.2018, 15:34
автор: koroluk1990
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 1045 25.12.2017, 21:18
автор: xetedata
Открытая тема (нет новых ответов) Frontend услуги (верстка, подключение jquery плагинов, кастомизация, написание скриптов)
услуги по frontend-разработке
15 FrontMaster 3707 25.11.2017, 13:46
автор: Stom
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПроблема выбора ниши для заработка
15 lektor2010 1576 11.4.2017, 21:18
автор: SeoKot


 



RSS Текстовая версия Сейчас: 27.5.2018, 2:09
Дизайн