我创建了一个jQuery函数来放置一个SELECT
元素,该元素创建一个change handler
来检查select
项的值是否具有某个值,如果是,则显示一个元素。
它还使用以下代码进行jQuery验证所需的元素:
fieldTextInputPlaceholder.find("input[type=text]").rules("add", {
required: true,
messages: {
required: "Subject is mandatory"
}
});
jQuery函数定义如下
$(document).ready(function () {
(function ($) {
$.fn.dropdownlist = function (
......
this.change(function () {
doTheWork($('#' + event.target.id));
});
.....
//doTheWork(this);
好消息是它有效。
坏消息是我想在页面加载时执行onchange
代码。
但是当我这样做时,我收到了这个错误:
jqueryval:格式化:209未捕获的TypeError:无法读取未定义的属性“设置”
我尝试过两种方式:
$('#SubjectDropDownValueId').trigger('change');
我认为这不是一个好方法
我也通过取消注释这行代码直接运行代码来完成它
//doTheWork(this);
在这两种情况下,我在这部分中得到了jQuery验证中的相同错误(这是缩小的jQuery验证代码):
rules: function(t, i) {
var r = this[0], e, s, f, u, o, h;
if (t) {
e = n.data(r.form, "validator").settings;
修改
我删除了所有代码,只在onload中添加了验证器,这也给出了同样的错误
<script>
$(document).ready(function() {
$('#CMSubject').rules("add", {
required: true,
messages: {
required: "subject is mandatory"
}
});
});
</script>