2016-05-17 91 views
0

我有一个形式与三个选择框和一个隐藏的领域。我想验证从三个选择框的值创建的字符串是否包含在隐藏字段中。与多领域的jquery验证

例子。

<form> 
    <select name="s1"> 
     <option value="1">1</option> 
     <option value="2">2</option> 
    </select> 
    <select name="s2"> 
     <option value="1">1</option> 
     <option value="2">2</option> 
    </select> 
    <select name="s3"> 
     <option value="1">1</option> 
     <option value="2">1</option> 
    </select> 
    <input type="hidden" name="result" value="#123#245#" /> 
</form> 

我想通过jquery验证在result.val中有效连接(s1.val,s2.val,s3.val)。

我该怎么办?我知道我需要创建自定义规则。

请帮帮我。

+0

意味着你想连接的价值选择然后与隐藏字段相比较? –

+0

为选项添加结束标记。 – Karma

+0

@KrupeshKotecha:是的,这是我想要的。 – user1944618

回答

-1
var concate_string = ""; 
$('form select').each(function(){ 
concate_string = concate_string +"#"+$(this).val(); 
}); 

concate_string = concate_string +"#"; 
if($('[name="result"]:eq(0)')==concate_string){ 
//your action ? 
} 
+0

是的,我知道这种方式,但我想使用jQuery验证。 – user1944618

+0

尽管这段代码可以回答这个问题,提供有关_why_ 额外的内容及/或_how_它回答 问题将显著改善其长期 值。请[编辑]你的答案,添加一些解释。 –

0

正如在评论上述提到

的html代码:

<form> 
    <select name="s1"> 
     <option value="1"> 
     <option selected value="2"> 
    </select> 

    <select name="s2"> 
     <option selected value="1"> 
     <option value="2"> 
    </select> 

    <select name="s3"> 
    <option value="1"> 
    <option selected value="2"> 
    </select> 
    <input type="hidden" name="result" id="hiddenVal" value="#212#" /> 
</form> 

JavaScript或jQuery代码:

var str = "#"; 
$('form select').each(function(){ 
    str = str + $(this).val(); 
}); 

str +="#"; 
alert(str); 
if($("#hiddenVal").val() == str){ 
    alert("yes value from select and value from hidden field is equal"); 
} 

jsFiddle

+0

不正确,我需要,我必须使用jquery验证插件来验证它。 – user1944618