我整天都在苦苦挣扎,已经接近几次,但似乎没有任何工作。
我有一个文本输入<input type="text" name="USA_sub" id="USA_sub" />
,之后输入<input type="text" name="FirstName" id="FirstName" />
我需要确保(创建一个验证规则),声明“#FirstName”的值必须包含在“#USA_sub”中“的价值。
我不断收到错误“$(sig).contains不是函数”,用这个:
$.validator.addMethod("FNESig", function (value, element) {
var firstname = $("#FirstName").val();
var sig = $("#USA_sub").val();
if ($(sig).contains(firstname)) {
return true;
} else return false;
}, "Your First Name must be in your Electronic Signature.");
THX 凯恩
答案 0 :(得分:3)
试试这个:
if (sig.indexOf(firstname) >= 0) {
return true;
} else return false;
答案 1 :(得分:3)
而不是这个($().contains()
不是一个方法......你有一个字符串,而不是一个jQuery对象的选择器,不需要包装任何东西):
if ($(sig).contains(firstname)) {
return true;
} else return false;
您可以使用string.indexOf()
,如下所示:
return sig.indexOf(firstname) != -1; //-1 would mean it wasn't found
作为旁注,由于您返回与条件相同的结果,只需将其返回,换句话说:
if(someCondition) {
return true;
} else {
return false;
}
可以是:
return someCondition;
答案 2 :(得分:1)
contains
方法只能应用于DOM元素。您可能希望使用indexOf
javascript方法。它将在字符串
$.validator.addMethod("FNESig", function (value, element) {
var firstname = $("#FirstName").val();
var sig = $("#USA_sub").val();
// means: does sig contains firstname?
return (sig.indexOf(firstname) !== -1);
}, "Your First Name must be in your Electronic Signature.");