За последние 24 часа нас посетили 26537 программистов и 1511 роботов. Сейчас ищут 843 программиста ...

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

Тема в разделе "JavaScript и AJAX", создана пользователем bkm, 12 фев 2013.

  1. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    Здравствуйте.

    Ребята, очень нужна помощь, выручайте.
    Почему-то не ставиться checked в указанном месте. Нагляднее показать скринах.

    [​IMG]
    [​IMG]
    [​IMG]

    Код (Text):
    1. <style>
    2. .CheckBoxLabelClass{
    3.     padding-left: 30px; /*создание отступа слева*/
    4.     padding-top: 3px;
    5.     background:url('UnCheck.png') no-repeat; /*установка картинки на фоне*/
    6.     margin: 5px;
    7.     height: 28px;
    8.     display: inline-block;
    9. }
    10.  
    11. .CheckBoxLabelClass:hover{
    12.     text-decoration: underline; /*Подчёркиваем при наведении*/
    13. }
    14.  
    15. .LabelSelected{
    16.     background: url('Check.png') no-repeat;
    17. }
    18. /*.CheckBoxClass{
    19.     display:none;  
    20. }*/
    21. </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>
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    лучше б ссылку дал.
    вообще убери через display:none; эти кружочки и квадратики, раз у тебя галочки ставятся красивые картинками.
     
  3. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    сначала были убраны, но потом обнаружил не совпадение, оставил для наглядности.
    ссылка на сайт _borneza.ru
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а где эта форма-то?
     
  5. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    пардон =)
    _http://borneza.ru/kartiny-view-hmuryj_den-1.html
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    забавно, вот же ж засада

    Добавлено спустя 6 минут 30 секунд:
    короче, моё мнение такое. Надо разделить логически, и тогда будет проще понять, что и куда пихать в ифах.
    Если у вас "только холст", "холст на подрамнике" и "багет" это три взаимоисключающих варианта, то от этого надо плясать и в коде.

    Добавлено спустя 43 секунды:
    а, да, и в вёрстке
    и расположить их соответственно. тогда и дизейблить будет проще, и людям понятнее.
     
  7. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    тут как раз два взаимоисключающих - это холст и все остальное, лак сам по себе.

    смысл такой:
    если нужен холст, то соответственно надо снять галочки с багета и подрамника. Если галка была на лаке, то пусть останется.
    если нужен подрамник, то снимем галку с холста, лак также остается сам по себе.
    если нужен багет, то без подрамника не обойтись, снимаем галку с холста и ставим на подрамник, активируются варианты багета.
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    разве лак не для рамки? я не знал, что лаком мажут картины =) Если лак для картины тоже, то надо конечно вынести его в отдельную линию. У вас сейчас всё свалено.

    Так что ли:

    O Холст
    O Подрамник
    . . [ ] Багет
    . . . . O Цвет O Цвет O Цвет O Цвет
    [ ] Лак
    . . O Цвет O Цвет O Цвет O Цвет
     
  9. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    для картины УФ лак например

    Добавлено спустя 20 секунд:
    для холста, простите
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ещё можно делать такие извращения, мне они по-душе:

    O Холст
    O Подрамник
    . . Багет:
    . . . . О Без багета O Цвет O Цвет O Цвет O Цвет
    Лак
    . . О Без лака O Цвет O Цвет O Цвет O Цвет

    и ставить дефолтные галки. Оно так даже проще для восприятия.
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    я правильно понимаю, что проблема состоит в том, что выбор "багета" устанавливает красивую галку у "подрамника" но не переключает радио в соответствующее положение?
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    там ифчик, но всё равно объединено всё кривенько, поэтому и косячит. надо объединить по смыслу и добавить классов, чтобы фигачить сразу всю группу целиком.
     
  13. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    алгоритм надо переписывать.
    выбрал +подрамник +багет +орех
    снял подрамник - система перекинула на "только холст" и "покрытие лаком"
     
  14. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    да, с дефолтными галками было бы проще, но того требует тех задание.
    ага, лак бесцветный, им покрывают холст для красоты. поэтому он болтается сам по себе.
    остается:
    1 группа - холст
    2 группа - подрамник и багет

    активен холст - галки снимаем со 2-ой группы
    активен кто-то из 2-ой группы, снимаем галку с 1-ой (холста)

    Добавлено спустя 32 секунды:
    все верно

    Добавлено спустя 44 минуты 50 секунд:
    думаю собака порылась в .attr('checked')
     
  15. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    похоже на то
    попробуйте prop()
     
  16. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    переделал, более менее работает.
    кстати, prop() оказался удачным выбором, спасибо.

    Всем спасибо!
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    техзадание можно уточнить и изменить.

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

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    вот эту фразу не понял =((
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    забей =) покажи что получилось
     
  20. bkm

    bkm Активный пользователь

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    ну вот например _http://borneza.ru/postery-view-notnyj_stan-8.html