无法识别的表达式:[name = name [first] []]

时间:2013-03-19 14:09:25

标签: jquery validation

我有一个jquery表单验证码。如果元素名称是单个的,那么该脚本工作正常,但如果它是如下的数组:

<form name="test" id="test">
<input type="text" name="name[first][]" />
<input type="text" name="name[first][]" />
<input type="text" name="name[first][]" />
<input type="button" name="Submit" value="submit" class="submit" />

验证脚本不起作用,它总是返回此错误:

Error: Syntax error, unrecognized expression: [name=name[first][]]

你可以在这个jsfiddle链接上看到我的代码: jsfiddle link

2 个答案:

答案 0 :(得分:2)

引用属性值:

$('[name="name[first][]"]')

如果名称为foo,则只能将引号保留为名称,如果名称为foo $[][½½{}] ],则必须引用该引号,原因我希望是显而易见的。

答案 1 :(得分:0)

Putting Quotes on the name will solve your issueTo validate the all Textbox value,您也可以尝试以下内容:

小提琴示例:http://jsfiddle.net/wdr9b/12/

$(document).ready(function () {
    $('.submit').click(function () {        
      $('input[type="text"]').each(function(){ 
            if($(this).attr("name") == "name[first][]"){
                if($(this).val().length <= 0) {
                    alert('field is required.');
                    return false;
                }
            }
      });    
    });    
});