2016-05-17 89 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