我試圖在JQuery中創建一個自定義的驗證方法,我無法設法使其正常工作。JQuery添加驗證方法來驗證有關另一個元素的形式
這是我想做的事:
<div class="row">
<label for="fld-stories">Stories</label>
<select id="fld-stories" class="valid" name="stories" title="">
<option value="">--</option>
<option value="1" label="1">1</option>
<option value="2" label="2">2</option>
<option value="3" label="3">3</option>
<option value="4" label="4">4</option>
<option value="5" label="5">5</option>
</select>
</div>
<div id="row_master_bedroom_location" class="row">
<label for="fld-master_bedroom_location">Master Bedroom Location</label>
<select id="fld-master_bedroom_location" name="master_bedroom_location" title="">
<option value="up">Upstairs</option>
<option value="down">Downstairs</option>
</select>
</div>
如果用戶選擇主臥室的位置是樓上(見第二選擇),故事的房子數量應大於或等於2 (這是合乎邏輯的,因爲如果只有一個故事,主臥室不能在樓上)。
爲此我嘗試一個自定義的方法添加到我的JQuery驗證:
$.validator.addMethod('masterBedroomLocation', function(value, element, params) {
if (value == 'up' && $("#fld-stories").val() < 2){
return false;
}
}, 'You cannot select "Upstairs" for a one–story home');
我不知道如何獲取表單另一個元素的值,我試過JQuery的舊時尚之路但它似乎並不奏效。
有關其他信息,我添加了自定義的方法在全球JavaScript文件,在結合了jQuery驗證到有一類特殊的名字每一個表格功能。
而是一個自定義的驗證方法,爲什麼不只需修改相應的選擇列表的選項?在做出選擇之後,用戶不會被呈現不適用的選項會更有意義。 – Sparky 2012-02-07 18:20:35