2010-03-02 58 views
2

我知道這似乎是一個重複的問題,但我讀過所有其他人,他們不完全相同:(jquery驗證:添加一個所需的規則與自定義消息基於不同的表單域有一個值

我有一些下拉菜單,如果他們有其他的東西,然後用「0」,然後選擇我想需要的coresponding到期日期字段的值的選項。

我試圖把規則在對象的類中,並使用規則('add')函數。這就是我現在的位置:

$('[id^=ExpiryDate]').each(function() { 

    $(this).rules('add', 
    { required: function() { 
     if ($('#q' + id).val() == '0') { 
      return false; 
     } 
     else { 
      return true; 
     } 
    } 
    } 
); 

我的到期日字段的id'ed像「ExpiryDate1」,「ExpiryDate2」和相應的下拉菜單標識爲「q1」和「q2」。

這使我的腳本失敗。它不會在錯誤控制檯或螢火蟲中給出任何錯誤。但它不會執行任何後面發生的JavaScript。

我有一種感覺,這是真的明顯和愚蠢的,我失蹤。但我一直盯着這個代碼幾個小時了,找不到它!

在此先感謝!

回答

4

試試這個:

$('[id^=ExpiryDate]').each(function() { 
    var id = $(this).attr('id').replace('ExpiryDate',''); 
    $(this).rules('add', { 
    required: function() { 
     return $('#q' + id).val() !== '0'; 
    } 
    } 
); 

目前,您id是不確定的,所以它只是沒有找到任何元素。其餘的只是一個較短的版本。

+0

謝謝!我知道這很明顯。我之前有一個設置id的行,但是當別的東西被破壞時我必須把它取出來。 – Patricia 2010-03-02 15:57:09

相關問題