2011-08-12 62 views
-2

我有一個彈出式菜單,其中包含1個下拉列表(必填),1個日期選擇器(必填)& 1個文本框(可選)。我在前兩個檢查,如果他們都包含任何數據,然後我啓用'保存'按鈕。在索引更改時啓用「保存」按鈕

但是,如果用戶已經有一些下拉項目和選擇的日期,那麼也啓用'保存'按鈕。我不想要這個。因此,這裏的邏輯是:

  1. 檢查的下拉列表,並在其中&項目已經改變,那麼使 「保存」按鈕,日期選擇器
  2. 如果它們都包含項目。
  3. 否則,禁用該按鈕。

這裏是我的代碼:

function EnableSaveButton() { 
    var tempDDL = jQuery("#testPopup SELECT"); 
    var tempText = jQuery("#testPopup INPUT:text"); 
    var buttons = jQuery("#testPopup INPUT:button"); 

    jQuery.each(buttons, function (i, buttonCtl) { 
     if (buttonCtl.value.toLowerCase() == "save") { 
      if ((tempDDL.find('OPTION:selected').val() !== "-1") && (tempText.val() != "")) 
       buttonCtl.disabled = false; 
      else 
       buttonCtl.disabled = true; 
     } 
    }); 
} 
+0

我不明白這個問題,你說如果他們有兩個值來啓用保存按鈕,那麼你否定它,如果他們有一個值,然後不啓用它? – JonH

+0

如果它們在兩者中均有價值並且其中的項目發生更改,則啓用它。 –

+0

因此,在更改事件時會提高一個標誌並將其設置爲基於其更改的值,根據您的代碼檢查此值。 – JonH

回答

1

跟蹤下拉菜單選擇的頁面加載和保存後。

var ddlSelection = $('#testPopup select option:selected').val(); 

dropdown changes時,檢查當前選擇是否不同。

if(tempDDL.find('OPTION:selected').val() !== ddlSelection) 

如果不同,啓用保存按鈕。保存時,更新下拉選擇變量。

ddlSelection = tempDDL.find('OPTION:selected').val() 
+0

@ klm9971設置'

+0

明白了。工作.. –