我有一个表单,当有人希望(例如)向家庭“添加另一个成年人”时,动态添加 HTML 块。
我希望每个字段都有一个唯一的名称,所以我使用了一个计数器:第一个成人的名字字段是“firstName1”,第二个是“firstName2”,依此类推。
因为我想向字段添加自定义消息(并且 Validate 插件没有 messages() 方法),所以我试图在将 HTML 添加到 DOM 后立即添加规则。
这适用于文本输入,但会引发选择元素错误——“TypeError: d is undefined”。
例如:
$("input[name='city" + counter + "']").rules("add", {required:true, messages: {required:"Please enter a city."
}});
... 工作正常。但 ...
$("input[name='state" + counter + "']").rules("add", {required:true, messages: {required:"Please enter a state."
}});
...标识一个选择框,引发错误。
行为是一致的。添加了几个选择,并且以上面显示的方式向其中任何一个添加规则都会引发错误。
我会提到所有选择框都有一个值为“”的初始选项,因此所需的验证应该可以正常工作。
但当然,它永远不会有机会。添加规则时会引发错误。
有谁知道为什么会发生这种情况?