jQuery Validator,以编程方式显示错误

我可以这样做:

validator.showErrors({ "nameOfField" : "ErrorMessage" }); 

这工作正常,但如果我尝试做这样的事情:

 var propertyName = "nameOfField"; var errorMessage = "ErrorMessage"; validator.showErrors({ propertyName : errorMessage }); 

它会抛出’element is undefined’错误。

关于什么:

 var propertyName = "nameOfField"; var errorMessage = "ErrorMessage"; var obj = new Object(); obj[propertyName] = errorMessage; validator.showErrors(obj); 

值得注意的是,以下三种语法是等效的:

 var a = {'a':0, 'b':1, 'c':2}; var b = new Object(); b['a'] = 0; b['b'] = 1; b['c'] = 2; var c = new Object(); ca = 0; cb = 1; cc = 2; 

顺便说一句,你得到’元素未定义’错误的原因是因为:

 var propertyName = "test"; var a = {propertyName: "test"}; 

相当于……

 var a = {"propertyName": "test"}; 

即,您没有将propertyName的值指定为键,而是将propertyName指定为字符串。

这应该工作正常。 也许缺乏一个; 错误消息后抛出一些东西。 你使用什么浏览器?

这个警报在IE7上运行正常