jQuery验证插件,如果.is(“:已检查”),则需要该插件

jQuery validation plugin, required if .is(":checked")

本文关键字:插件 检查 如果 验证 is jQuery      更新时间:2024-04-27

我正在尝试让jQuery验证插件将文本类型输入设置为radio.is(":checked")时所需的…我知道以下代码在jsFiddle上有效。。。,但它在我工作的内联网中不起作用。。。是否有以下替代方案?:

$(document).ready(function () {
    $("#myForm").validate({
        rules: {
            t1: {
                required: true,
                minlength: 5
            },
            t2: {
                required: function (element) {
                		if($('#rad2').is(":checked"))
                    {
                    		return true;
                    }
                    else
                    {
                    		return false;
                    }
                },
                minlength:5
            }
        },
        messages: {
            t1: {
                required: "Enter t1",
                minlength: "min is 5"
            },
            t2: {
       	required: "Required t2",
                minlength: "min is 5"
            }
        }
    })
})
<form id="myForm">
<label><input type="radio" id="rad1" name="radio">Rad 1</label>
<label><input type="radio" id="rad2" name="radio">Rad 2</label>
<input type="text" name="t1" maxlength="10">
<input type="text" name="t2" maxlength="10">
<input type="submit" value="submit">
</form>
我似乎无法从必需子句中获得函数来操作。。我没有收到任何错误或任何东西。。就是不起作用。。我也试过:

required: $('#rad1').is(":checked")

因为我相信这会给我一个简单的真/假。。也不起作用。我可能运气不好,但验证插件的其余部分可以工作,所以我认为可能还有另一种方法。

如果您运行的是jQuery版本>1.6,正确的方法是:

if ($("#rad2").prop("checked", true))
  return true;
return false;

如果jQuery版本为1.6或更低:

if ($("#rad2").attr("checked", "checked"))

感谢大家回答我的问题。。。我确实找到了一个解决方案,我并不完全理解,但它可能只是与我公司的基础设施如何设置有关。。。我最终在验证函数之前生成了一个变量:

var ths = this;

并用它来选择我的单选按钮。出于某种原因,试图通过正常方式进行选择是行不通的。很抱歉问了这个愚蠢的问题,但我非常感谢你的帮助。

感谢