jQuery验证插件,如果.is(“:checked”)

时间:2016-04-11 22:16:55

标签: javascript jquery forms validation

我正在尝试获取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")

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

2 个答案:

答案 0 :(得分:1)

如果您正在运行jQuery verson&gt; 1.6,正确的方法是:

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

如果jQuery版本是1.6或更低:

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

答案 1 :(得分:0)

谢谢大家回复我的问题...我确实找到了解决方案,但我并不完全理解它,但这可能与我公司的基础架构设置方式有关...我最终在验证函数之前创建了一个变量:

&#13;
&#13;
var ths = this;
&#13;
&#13;
&#13;

并用它来选择我的单选按钮。出于某种原因,试图通过正常手段进行选择并不起作用。对不起这个愚蠢的问题,但我非常感谢你的帮助。

谢谢

相关问题