2012-11-27 81 views
0

我有一個checkcolumn(稱爲'Leader'),當用戶點擊'Create Project'按鈕時,我希望有一個警告消息顯示如果沒有勾選checkbox中的複選框(即如果用戶不選中複選框)。現在我有下面的代碼創建每個記錄的所有'Leader'checkcolumn值的數組(稱爲'數據')。但是,如果所有值('數據')都是假的(即沒有選中複選框),我不知道如何顯示警報。這裏是我的代碼:checkcolumn validation

buttons: [{ 
    text: 'Create Project', 
    id: 'createprojectbutton', 
    handler: function(){ 
    var form = this.up('form').getForm(); 
    var data = []; 
    teststore.each(function(rec){ 
     data.push(rec.get('Leader')); 
    }); 
    } 
}] 

回答

1

你的意思是這樣的:

buttons: [{ 
    text: 'Create Project', 
    id: 'createprojectbutton', 
    handler: function(){ 

     var iHasLeader = false; 
     teststore.each(function(rec){ 
      // Assuming the leader field is boolean, any leader that is true 
      // will render iHasLeader as true. 
      iHasLeader = iHasLeader || rec.get('Leader'); 
     }); 
     if (!iHasLeader) 
      alert('No leader'); 
    } 
}] 
+0

謝謝你,你的解決方案的工作。但是我不明白在下面這行代碼中發生了什麼:iHasLeader = iHasLeader || rec.get( '負責人'); 你能解釋一下嗎?謝謝, – anitacynax

+1

它只是意味着'iHasLeader'等於它本身或者是否有領導者的rec布爾字段。使用OR,如果兩者都是真的,結果將是真實的。因此,任何具有'Leader'的記錄都會將iHasLeader設置爲true,並且它將保持這種狀態,因爲此後'iHasLeader'爲true - 無關於rec中的值。這有意義嗎? – Izhaki

+0

我明白了,謝謝你的解釋! – anitacynax