gpt4 book ai didi

jQuery radio 验证 - 突出显示 radio 的所有标签

转载 作者:行者123 更新时间:2023-12-01 00:08:23 28 4
gpt4 key购买 nike

我正在使用 jQuery 验证来验证其上设置了单选按钮的表单(在本例中设置 = 两个单选按钮)。带标签的单选按钮如下。该表单位于 jQueryUI 对话框上。

<input type="radio" name="chooseMe" value="Yes" id="radio_yes" /><label for="radio_yes">Yes</label>
<input type="radio" name="chooseMe" value="No" id="radio_no" /><label for="radio_no">No</label>

我从 jquery.com 上的验证插件页面获取了突出显示/取消突出显示代码 http://docs.jquery.com/Plugins/Validation/validate
(转到“选项”选项卡并搜索“取消突出显示”)

highlight: function (element, errorClass, validClass) {
$(element).addClass(errorClass).removeClass(validClass);
$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
},
unhighlight: function (element, errorClass, validClass) {
$(element).removeClass(errorClass).addClass(validClass);
$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
},

我遇到的第一个问题是,根据要求进行验证时,仅突出显示"is"标签。
第二个问题是,如果我不解决验证问题并取消 jQueryUI 对话框,然后返回对话框,"is"标签就会完全消失。

为了解决第一个问题,我想要做的是突出显示"is"和“否”标签。因此,在处理突出显示代码时,我需要从元素 id 获取输入的名称(“chooseMe”),然后从该名称获取与该名称关联的所有 id(“radio_yes”和“radio_no”) ,突出显示所有标签。当然,取消突出显示代码则相反。

由于我在表单中有几个单选按钮集,因此我需要它是通用的(没有硬编码“chooseMe”等)

这听起来合理吗?如果是这样,唯一的问题是我不知道该怎么做:)

提前致谢。

jsFiddle 按要求:
http://jsfiddle.net/Bd688/4/

最佳答案

好的,jsfiddle 的这次迭代突出显示了两个标签:

http://jsfiddle.net/Bd688/6/

这个想法是获取元素的名称并查找同名的所有其他元素,然后应用您正在应用的相同代码。所以我只是改变了这一点:

$(element.form).find('[name='+element.name+']').each(function (i, sameName){
$(element.form).find("label[for=" + sameName.id + "]").removeClass(errorClass);
});

编辑:好的,事实证明 jQuery.validate 并不真正喜欢您使用它的 errorClass 并将其应用于标签。我又做了一个类,它似乎有效:

http://jsfiddle.net/Bd688/7/

关于jQuery radio 验证 - 突出显示 radio 的所有标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6101152/

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