2012-02-08 66 views
2

我希望只有在選擇了特定選項或者選擇了特定的單選按鈕或者在文本輸入字段中輸入了特定字符串時才需要字段(所有必需(依賴表達式)的例子我可以找到假設依賴是在文本字段的情況下是否檢查/取消選擇或填充/未填充輸入)JQuery驗證:必需(依賴表達式)

這是我需要的一個示例,基於無線電節:

婚姻狀況(所要求的字段):

<input name="status" id='status'type="radio" value="couple" checked="checked" /> 
<input name="status" id='status'type="radio" value="single male" /> 
<input name="status" id='status'type="radio" value="single female" /> 

夥伴名稱(依賴字段 - 僅在需要時 '耦合' 從上面選擇)

<input name="partner" type="text" id="partner"> 

實施例2:必填字段=場館

<select name="venue" id="venue"> 
<option value="">Please select venue</option> 
<option>London EC1</option> 
<option>London E9</option> 
<option>Birmingham</option> 

等 依賴字段=用戶(只對於上述選擇之一要求,說「伯明翰」)

<input name="user" type="text" id="user"> 

我如何適應的例子athttp所示://docs.jquery.com/Plu gins/Validation/Methods/required#依賴表達式用於上述情況?

$("#myform").validate({ 
    rules: { 
    details: { 
     required: "#other:checked" 
    } 
    }, debug:true 
}); 
$("#other").click(function() { 
    $("#details").valid(); 
}); 

我曾嘗試:

user: { 
     required: "#venue:('birmingham')" 
    } 

partner: { 
     required: "#status:('couple')" 
    } 

但這些都在場地和狀態

回答

4

結果的,無論需要作出的用戶和合作夥伴的作用第一個,你的收音機輸入應該有不同的ID:

<input name="status" id='statusCouple' type="radio" value="couple" checked="checked" /> 
<input name="status" id='statusSingleMale' type="radio" value="single male" /> 
<input name="status" id='statusSignleFemale' type="radio" value="single female" /> 

那麼你的規則可以是這樣的:

partner: { 
    required: "#statusCouple:checked" 
} 

對於第二個,只是讓你的規則是這樣的:

user: { 
    required: function(element) { return $("#venue").val() == 'Birmingham'; } 
}  

應該做的伎倆。