2010-08-06 75 views
1

我有一個表單,其中有一個選項組,可選擇輸入以磅或百分比表示的值。jQuery驗證條件最大

在此之後,我有一個實際值或百分比的輸入框。

我想在jQuery中使用驗證函數來設置條件最大值(例如100),如果用戶選擇百分比選項。

這是可能的 - 我試過,但它不工作:

sponsorValue: { 
    required: true, 
    digits: true, 
    max: function(element) { 
    if ($("#sponsorOption").val() == '2'){ return 100;} 
         } 
     } 

任何人都可以提供任何幫助嗎?

+0

你上面的代碼得到了什麼結果? – 2010-08-06 13:33:38

+0

必需和數字參數可以正常工作,但最大不能。使用的Chrome JS錯誤檢查器和代碼似乎很好形成,即沒有語法錯誤 – Adam 2010-08-06 13:40:17

回答

0

這是HTML表單收音機如何被標記了:

<input name="sponsorOption" type="radio" value="1" /> <span class="stdTxt">Amount</span><br /> 
<input checked="checked" name="sponsorOption" type="radio" value="2" checked="checked"/> <span class="stdTxt">Percentage</span> 

道歉加入這個作爲我的用戶是不成立昨天的答案。

+0

我想我可能需要使id贊助商option1和sponsorOption2 – eggwater 2010-08-09 12:28:33

+0

仍然撲在這。已經嘗試了很多不同的變化。問題似乎是,當無線電選項被改變時,它不會更新最大值。我試圖簡單地改變單選按鈕的值以匹配所需的閾值 - 例如100:20000,只需使用max的值作爲$(「input [name ='sponsoringOption']:checked」)。val() - 這不起作用,或者它只是採用初始默認'checked'值。這非常令人沮喪。 – eggwater 2010-08-10 09:20:28

3

我想我可能已經破解了:

sponsorValue: { 
    required: true, 
    digits: true, 
    max: function(value,element) { 
     if ($("input[name='sponsorOption']:checked").val() == '2') return 100; 
       } 
    } 

我到底使用單個複選框,而不是收音機,但我會嘗試使用無線電覆試。

+0

這也適用於無線電 - 實際上它運作得更好 - 功能更強大。 – eggwater 2010-08-10 15:15:26

+0

這正是我所需要的。 – 2012-07-10 09:25:28