2015-05-06 2 views
2
($(this).addClass("error") 

добавляет ошибку класса для выбора после проверки. Но вместе с этим я также хочу добавить этот класс в поле ввода внутри следующего <span>. Это я делаю, чтобы решить мою проблему, указанную here. Я думаю, это можно сделать так.Как добавить класс во входной элемент смежного элемента?

Ниже приводится HTML, где я хочу, чтобы добавить class="error"

<select data-placeholder="Pick the ones that apply to you" multiple="" class="js-selection select2-hidden-accessible error" name="option" data-placement="left" data-toggle="tooltip" data-required="true" tabindex="-1" aria-hidden="true" placeholder="Please fill out this field"> 
         <option selected="" value=""></option> 
         <option value="1">Shipping/post</option> 
         <option value="2">Customers can collect</option> 
         <option value="3">Other</option> 
</select> 

<span class="select2 select2-container select2-container--default" dir="ltr" style="width: auto;"> 
<span class="selection"> 
    <span aria-expanded="false" aria-haspopup="true" aria-autocomplete="list" role="combobox" class="select2-selection select2-selection--multiple" tabindex="0"> 
    <ul class="select2-selection__rendered"> 
     <li class="select2-search select2-search--inline"> 
      <input type="search" role="textbox" spellcheck="false" autocapitalize="off" autocorrect="off" autocomplete="off" tabindex="-1" class="select2-search__field" placeholder="Pick the ones that apply to you" style="width: 0px;"> 
     </li> 
    </ul> 
    </span> 
</span> 
<span aria-hidden="true" class="dropdown-wrapper"></span></span> 
+3

Как этот вопрос отличается от того, который вы задавали ранее? – Barmar

+0

@Barmar yup вы правы, но я думал, что вопрос не ясен, может быть, поэтому я подумал, что если я получу решение добавить класс к вводу соседнего элемента, тогда проблема будет решена. – user3848698

+1

Измените свой вопрос, не создавайте новенький. Кажется очень похожим на вопрос, который вы задали 2 дня назад, и получил ответ, где ответ показал вам, как настроить таргетинг на конкретного брата. посмотрите методы трассировки в jQuery API – charlietfl

ответ

1

на основе ваших объяснений this является select, так что вы можете сделать это следующим образом:

$(this).addClass('error'); 
$(this).next().find('input').addClass('error'); 

Вы можете комбинировать их также в одной операции с использованием add():

$(this).add($(this).next().find('input')).addClass('error'); 
+0

спасибо, что ух! – user3848698

Смежные вопросы