нужна помощь в реализации алгоритма на jquery

(Ответов: 5, Просмотров: 638)
  1. Студент Аватар для Bukmeker
    • Регистрация: 27.10.2012
    • Сообщений: 74
    • Репутация: 6
    • Webmoney BL: ?
    Здравствуйте.

    Почему-то не ставиться checked в указанном месте. Нагляднее показать скринах.

    Нажмите на изображение для увеличения.  Название:	01.jpg  Просмотров:	11  Размер:	31.8 Кб  ID:	8277
    Нажмите на изображение для увеличения.  Название:	02.jpg  Просмотров:	14  Размер:	31.8 Кб  ID:	8278
    Нажмите на изображение для увеличения.  Название:	03.jpg  Просмотров:	7  Размер:	36.4 Кб  ID:	8276
    Нажмите на изображение для увеличения.  Название:	UnCheck.png  Просмотров:	33  Размер:	2.9 Кб  ID:	8279
    Нажмите на изображение для увеличения.  Название:	Check.png  Просмотров:	33  Размер:	3.9 Кб  ID:	8280

    код

    PHP код:
    $(document).ready(function() {

        $(
    'input#baget-podramnik').attr('checked'true);
        $(
    'input#baget-podramnik').next("label").addClass("LabelSelected");
        $(
    '#vbaget input:radio').attr('disabled'true);
        $(
    '#check-baget input').on('click'clickCheckbox);

    });


    function 
    clickRadiobox(){
            
                
    //if($("#baget-podramnik :radio:not(:checked)")){
                
                
    if($('input#baget-holst').is(':checked')){
                    $(
    'input#baget-podramnik').next("label").removeClass("LabelSelected");
                    $(
    'input#baget-holst').next("label").addClass("LabelSelected");
                    return 
    true;
                }
                if($(
    'input#baget-podramnik').is(':checked')){
                    $(
    'input#baget-holst').next("label").removeClass("LabelSelected");
                    $(
    'input#baget-podramnik').next("label").addClass("LabelSelected");
                    return 
    true;
                }
    }

    function 
    clickCheckbox(){

        if($(
    'input#baget-baget').is(':checked')){
                $(
    'input#baget-baget').next("label").addClass("LabelSelected");
                $(
    '#vbaget input').attr('disabled'false);
            
            if($(
    '#check-baget input#baget-holst').is(':checked')){
                $(
    'input#baget-podramnik').attr('checked'true);
                $(
    'input#baget-holst').next("label").removeClass("LabelSelected");
                $(
    'input#baget-podramnik').next("label").addClass("LabelSelected");
                
    //return true;
            
    }
            
            
    //------------------------------------------------------------------------
                
                
    if($('input#baget-white').is(':checked')){
                    $(
    'input#baget-white').next("label").addClass("LabelSelected");
                } else {
                    $(
    'input#baget-white').next("label").removeClass("LabelSelected");
                }
                
                if($(
    'input#baget-black').is(':checked')){
                    $(
    'input#baget-black').next("label").addClass("LabelSelected");
                } else {
                    $(
    'input#baget-black').next("label").removeClass("LabelSelected");
                }
                
                if($(
    'input#baget-oreh').is(':checked')){
                    $(
    'input#baget-oreh').next("label").addClass("LabelSelected");
                } else {
                    $(
    'input#baget-oreh').next("label").removeClass("LabelSelected");
                }
                
                if($(
    'input#baget-vishnya').is(':checked')){
                    $(
    'input#baget-vishnya').next("label").addClass("LabelSelected");
                } else {
                    $(
    'input#baget-vishnya').next("label").removeClass("LabelSelected");
                }
            
            return 
    true;
            
            } else {
                $(
    'input#baget-baget').next("label").removeClass("LabelSelected");
                $(
    '#vbaget input').attr('disabled'true);
            }
            
            if($(
    'input#baget-lak').is(':checked')){
                $(
    'input#baget-lak').next("label").addClass("LabelSelected");
            } else {
                $(
    'input#baget-lak').next("label").removeClass("LabelSelected");
            }        
            
            
    clickRadiobox();

    Код HTML:
    <style>
    .CheckBoxLabelClass{
        padding-left: 30px; /*создание отступа слева*/
        padding-top: 3px;
        background:url('UnCheck.png') no-repeat; /*установка картинки на фоне*/
        margin: 5px;
        height: 28px;
        display: inline-block;
    }
    
    .CheckBoxLabelClass:hover{
        text-decoration: underline; /*Подчёркиваем при наведении*/
    }
    
    .LabelSelected{
        background: url('Check.png') no-repeat;
    }
    /*.CheckBoxClass{
        display:none;  
    }*/
    </style> <table id="check-baget"> <tr> <td style="width:115px;"><label for="baget-holst" style="cursor:pointer;"><img src="images/holst.jpg" /></label><br><input type="radio" name="baget" id="baget-holst" value="1" class="CheckBoxClass"><label for="baget-holst" style="cursor:pointer;" class="CheckBoxLabelClass">Только холст</label></td> <td style="width:115px;"><label for="baget-podramnik" style="cursor:pointer;"><img src="images/obychyi.jpg" /></label><br><input type="radio" name="baget" id="baget-podramnik" value="0" class="CheckBoxClass"><label for="baget-podramnik" style="cursor:pointer;" class="CheckBoxLabelClass">На подрамнике</label></td> <td style="width:115px;"><label for="baget-baget" style="cursor:pointer;"><img src="images/lak.jpg" /></label><br><input type="checkbox" name="baget-baget" id="baget-baget" value="2" class="CheckBoxClass"><label for="baget-baget" style="cursor:pointer;" class="CheckBoxLabelClass">Багет</label></td> <td style="width:116px;"><label for="baget-lak" style="cursor:pointer;"><img src="images/lak.jpg" /></label><br><input type="checkbox" name="baget-lak" id="baget-lak" value="3" class="CheckBoxClass"><label for="baget-lak" style="cursor:pointer;" class="CheckBoxLabelClass">Покрытие лаком</label></td> </tr> <tr><td colspan="4"><div id="vbaget"> <table> <tr> <td style="width:115px;"><label for="baget-white" style="cursor:pointer;"><img src="images/baget_white.jpg" /></label><br><input type="radio" name="сbaget" id="baget-white" value="0" class="CheckBoxClass"><label for="baget-white" style="cursor:pointer;" class="CheckBoxLabelClass">белый</label></td> <td style="width:115px;"><label for="baget-black" style="cursor:pointer;"><img src="images/baget_black.jpg" /></label><br><input type="radio" name="сbaget" id="baget-black" value="1" class="CheckBoxClass"><label for="baget-black" style="cursor:pointer;" class="CheckBoxLabelClass">черный</label></td> <td style="width:115px;"><label for="baget-oreh" style="cursor:pointer;"><img src="images/baget_oreh.jpg" /></label><br><input type="radio" name="сbaget" id="baget-oreh" value="2" class="CheckBoxClass"><label for="baget-oreh" style="cursor:pointer;" class="CheckBoxLabelClass">орех</label></td> <td style="width:115px;"><label for="baget-vishnya" style="cursor:pointer;"><img src="images/baget_vishnya.jpg" /></label><br><input type="radio" name="сbaget" id="baget-vishnya" value="3" class="CheckBoxClass"><label for="baget-vishnya" style="cursor:pointer;" class="CheckBoxLabelClass">вишня</label></td> </tr> </table> </div> </td></tr> </table>
    Заранее, спасибо.
    • 0
  2. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    Bukmeker, Извиняюсь за тупость, но зачем Вам 2 поля к каждому варианту?
    • 0
  3. Дипломник Аватар для Tiefe
    • Регистрация: 17.12.2012
    • Сообщений: 120
    • Репутация: 18
    в вашем коде никто не разберется, советую лучше показать живой пример, в котором есть проблема, так все быстрее решится
    • 0
  4. Студент Аватар для Bukmeker
    • Регистрация: 27.10.2012
    • Сообщений: 74
    • Репутация: 6
    • Webmoney BL: ?
    Цитата Сообщение от cOAPerator Посмотреть сообщение
    Bukmeker, Извиняюсь за тупость, но зачем Вам 2 поля к каждому варианту?
    немного не понял про 2 поля.
    смысл такой:
    если нужен холст, то соответственно надо снять галочки с багета и подрамника. Если галка была на лаке, то пусть останется.
    если нужен подрамник, то снимем галку с холста, лак также остается сам по себе.
    если нужен багет, то без подрамника не обойтись, снимаем галку с холста и ставим на подрамник, активируются варианты багета.

    Цитата Сообщение от Tiefe Посмотреть сообщение
    в вашем коде никто не разберется, советую лучше показать живой пример, в котором есть проблема, так все быстрее решится
    в принципе согласен, вот адрес сайта _borneza.ru
    • 0
  5. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    Цитата Сообщение от Bukmeker Посмотреть сообщение
    смысл такой: если нужен холст, то соответственно надо снять галочки с багета и подрамника. Если галка была на лаке, то пусть останется. если нужен подрамник, то снимем галку с холста, лак также остается сам по себе. если нужен багет, то без подрамника не обойтись, снимаем галку с холста и ставим на подрамник, активируются варианты багета.
    это понятно.
    я имел ввиду на скрине у вас под радиобаттонами и чекбоксами дополнительные поля с галочками? синие которые.
    • 0
  6. Студент Аватар для Bukmeker
    • Регистрация: 27.10.2012
    • Сообщений: 74
    • Репутация: 6
    • Webmoney BL: ?
    снизу поля разделены по цветам и имеют отношение только к багету, если галка на багете активируем их, иначе в disabled
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Нужна помощь с php и js
Web программирование 5 01.12.2012 03:47
Нужна помощь!
Социальные сети 5 26.09.2012 15:24
Нужна помощь с JS
Web программирование 3 22.07.2012 17:53
Нужна помощь.
Общие вопросы поисковой оптимизации 6 16.02.2012 02:23
Нужна помощь в ЧПУ!
Web программирование 1 05.12.2010 05:27

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры