gpt4 book ai didi

javascript - 无法使用 select2 读取 jQuery 验证中未定义的 nodeName 属性

转载 作者:行者123 更新时间:2023-12-03 03:36:40 24 4
gpt4 key购买 nike

我正在尝试在 select2 下拉列表中添加 jQuery 验证。但是,它一直导致“nodeName undefined”的javascript异常,我不确定出了什么问题。

 $(".field-validation-required").each(function() {

// output SELECT, if current html class is a select2 dropdown.
console.log(this.nodeName);

$(this).rules('add', {
required: true,
messages: {
required: "This field is required"
}
});
});

我的 select2 下拉列表包含“.field-validation-required”类,我正在尝试对其应用一些 jQuery 验证。但似乎 $(this) 总是会导致“无法读取未定义的 nodeName 属性”错误。

最佳答案

My select2 dropdown contains the class .field-validation-required and I am trying to apply some jQuery validation on it. But it seems $(this) always causes that "Cannot read property of nodeName undefined" error.

向我们显示相关的 HTML 标记;否则,我无法重复您的错误。

<小时/>

您的原始选择是否包含唯一的名称?这是插件强制要求的,丢失或重复的名称可能是错误消息的根本原因。

<小时/>

您的 .field-validation-required 类是在原始 select 元素上还是在动态创建的 Select2 元素上?

如果它位于 select 元素上,那么它应该可以工作。如果它位于 Select2 元素上,则它将不起作用。

您只能将 jQuery Validate 应用于 selecttextarea、某些 inputcontenteditable 元素。 .没有别的了。

定位原始隐藏的 select 元素而不是 Select2 元素。然后,由于插件将忽略所有隐藏元素,因此您需要将 ignore 选项设置为某些不会忽略隐藏 select 元素的 jQuery 选择器。例如,ignore: [] 将告诉插件忽略任何内容并验证所有隐藏元素。

<小时/>

或者,您可以按类或 HTML5 属性将 required 规则应用到原始 select 元素。您仍然需要如上所述设置ignore选项。

<select name="myselect" class="required" ....

<select name="myselect" required="required" ....

关于javascript - 无法使用 select2 读取 jQuery 验证中未定义的 nodeName 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45824541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com