Подствеить блок с определённым значением input

Тема в разделе "JavaScript", создана пользователем AnOcToJI, 14 июл 2016.

  1. AnOcToJI

    AnOcToJI

    Регистрация:
    28 дек 2012
    Сообщения:
    309
    Симпатии:
    188
    собственно есть примерно такая структура
    и нужно при обнаружении "Значение 1" классу custom_wms_doc добавлять ещё один класс в этом же блоке что и был обнаружен не добавляя класс блоку со "Значение 2"
    или же по классу импута, а не по значению определять
    как такое можно реализовать?

    Код:
    <div class="custom_wms_doc">
    <div class="mini">
       <div class="top">
         <div class="left">
           <div class="align-left">
             <div class="ac">
               <div>
                 <i class="wms_maps"></i>
                 <input class="down c-1 wms_centrpage_maps" type="button" onclick="setCenter2();" value="Значение 1" data-class="js-bold">
               </div>
             </div>
           </div>
         </div>
       </div>
    </div>
    <div>
    <div class="custom_wms_doc">
    <div class="mini">
       <div class="top">
         <div class="left">
           <div class="align-left">
             <div class="ac">
               <div>
                 <i class="wms_maps"></i>
                 <input class="down c-2 wms_centrpage_maps" type="button" onclick="setCenter2();" value="Значение 2" data-class="js-bold">
               </div>
             </div>
           </div>
         </div>
       </div>
    </div>
    <div>
    
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    хтмл у тебя слегка кривой.
    Код:
    <div class="custom_wms_doc">
      <div class="mini">
         <div class="top">
           <div class="left">
             <div class="align-left">
               <div class="ac">
                 <div>
                   <i class="wms_maps"></i>
                   <input class="down c-1 wms_centrpage_maps" type="button" onclick="setCenter2();" value="Значение 1" data-class="js-bold">
                 </div>
               </div>
             </div>
           </div>
         </div>
      </div>
    </div>
    
    <div class="custom_wms_doc">
      <div class="mini">
         <div class="top">
           <div class="left">
             <div class="align-left">
               <div class="ac">
                 <div>
                   <i class="wms_maps"></i>
                   <input class="down c-2 wms_centrpage_maps" type="button" onclick="setCenter2();" value="Значение 2" data-class="js-bold">
                 </div>
               </div>
             </div>
           </div>
         </div>
      </div>
    </div>
    А на js будет как-то так:
    Код:
    $('.wms_centrpage_maps').on('click', function() {
        if ($(this).val() === 'Значение 1') {
            $(this).closest('.custom_wms_doc').addClass('new class');
        }
    });
    
     
  3. AnOcToJI

    AnOcToJI

    Регистрация:
    28 дек 2012
    Сообщения:
    309
    Симпатии:
    188
    да это пример, вижу что слэш не вставил в последних дивах))
    что-то как-то не заработало...
     
    Последнее редактирование: 14 июл 2016
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    я его не проверял, просто теория как это будет выглядеть.
     
  5. rsbrdr

    rsbrdr

    Регистрация:
    13 авг 2016
    Сообщения:
    3
    Симпатии:
    0
    Вам наверное нужно подписаться на событие keyup, а не click и тогда заработает.
     
  6. AnOcToJI

    AnOcToJI

    Регистрация:
    28 дек 2012
    Сообщения:
    309
    Симпатии:
    188
    По этой же теме
    вот есть такая строчка
    <td data-date="2017-03-8" class="" style="height: 139px;"><span class="date" style="line-height: 139px;"><span class="number" style="">8</span></span></td>
    как зная data-date="2017-03-8" добавить к td класс?
     
  7. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    Код:
    $('[data-date=' + дата + ']').addClass('класс');
     
    AnOcToJI нравится это.