2015-03-07 5 views
1

Я пытаюсь понять, почему мой выбор jquery не работает, но я пробовал несколько вещей и не мог запустить его. Я надеюсь, что вы могли бы дать мне подсказку:JQuery Выбор необходимых полей

Вот HTML-часть:

<div id="collapseOne" class="panel-collapse collapse in"> 
    <!--CONTACT FORM--> 
    <div class="row"> 
     <div class="col-md-6 col-sm-12 left"> 
      <label>Company</label> 
      <input type="text" id="smpcheckout_customer_company" name="smpcheckout[customer][company]" class="form-control not-removable" /> 
     </div> 
     <div class="col-md-6 col-sm-12 left"> 
      <label>&nbsp;</label> 
      <div class="input"> 
       <input name="title" type="radio" value="mr"> 
       <label>Mr</label> 
       <input name="title" type="radio" value="mrs"> 
       <label>Mrs</label> 
      </div> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-md-6 col-sm-12"> 
      <label>First Name*</label> 
      <input type="text" id="smpcheckout_customer_first_name" name="smpcheckout[customer][first_name]" required="required" class=" not-removable" /> 
     </div> 

Вот JS-часть. :

$("#buttonone").click(function() { 
    $('#collapseOne').find('input').filter('[required]').each(function() { 
    if (!$(this).val().length) { //works only for text 
     $(this).parent.prepend("<strong>Please fill out this field</strong>"); 

В любом случае, во время отладки я вижу, что он не выбирает даже одно поле, хотя ничего не было введено ...

Спасибо большое за вашу помощь и предложения. Steffen

+2

'parent' является методом. У вас не хватает'() '. – undefined

+0

Дорогой Вохуман. Спасибо за подсказку, я изменил это соответствующим образом. Это, безусловно, верно, но не является причиной этого вопроса как это не выбирает что-нибудь. У вас есть другая идея? Благодаря! –

+0

Можете ли вы предоставить jsfiddle, который воспроизводит проблему? – undefined

ответ

0

Проблема решена. Решение было: .filter ("[требуется = 'требуется']" -

0

Вы можете сделать это следующим образом:

$("#buttonone").click(function() { 
    $("#collapseOne input[required]").each(function() { 
     if (!$(this).val().length) { //works only for text 
      $(this).parent().append("<strong>Please fill out this field</strong>"); 
     } 
    }); 
}); 

Заметно, вы можете выбрать required используя #collapseOne input[required] вместо поиска и фильтрации.

jsFiddle for reference

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