jQuery: выбор элементов в соответствии с началом и концом атрибута имени - PullRequest
0 голосов
/ 30 марта 2011

У меня есть этот код:

  <script>
  $(document).ready(function(){
  $('form').validate({

    //rules: { 'input_name': { email: true} },
    rules: { 'name^=input', 'name$=jander': { email: true} },
    messages: { 'input_name': "Jar" },

    errorPlacement: function(error, element) {
     error.insertBefore(element);
    },
    debug:true

    })

  });
  </script>

 </head> 

  <body>
<div id="jar">fasdf</div>

<form id="clar">
<p id="my_paragraph">Escribe ALGO para que haga la validacion de email</p>
<input name='input_jander' type="text" ">
<input type="submit" >

</form>

Как видите, я пытаюсь применить правило проверки ко всем полям ввода, атрибут имени которых начинается с «input» , а заканчивается словом «jander», но это не работает (ошибка сообщение не показывается) ..

Ответы [ 2 ]

1 голос
/ 30 марта 2011

просто дайте входные данные, которые вы хотите нацелить на класс, и нацельтесь на них таким образом, это будет намного проще. Зачем тебе тяжелее

0 голосов
/ 30 марта 2011

Эти ключи просто отображаются на атрибут name формы.

Однако я сталкивался с этой проблемой однажды и решил ее так ...

var rules = {},
    messages = {},
    inputs = $(':input[name^="input"]').filter(':input[name$="jander"]');

inputs.each(function() {
   var name = $(this).attr('name');
   rules[name] = { email: true };
   messages[name] = { email: 'Type a proper email, mate!' };
});

$('form').validate({
    'rules': rules,
    'messages': messages
});

jsFiddle из input сопоставляемых элементов.

Хотя вам, вероятно, следует придумать более разумный идентификатор для этих элементов.

...