2011-03-30 100 views
0

我有这样的代码:jQuery的:选择元素根据beggining和name属性的结束

<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> 

正如你所看到的,我想验证规则适用于所有的输入字段的名字属性以“输入”开头以“jander”结尾,但它不起作用(错误消息未显示)..

任何想法?

问候

哈维

回答

0

这些键只是映射到表格的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 
}); 

input元素jsFiddle相匹配。

虽然你应该想出这些元素的标识符。

1

只是给你想要的目标类和目标他们这样它会更容易投入。为什么要让自己更难