2014-02-26 59 views
0

我基本上具有集羣組複選框列表上的工作建立串..結構如下KnockoutJS複選框,根據檢查的項目

集羣給出1:

  1. Cluster1中子項目1 [X]
  2. Cluster1中子項目2 [X]
  3. Cluster1中子項目3 [X]

羣集2:

  1. Cluster2中子項目1 [X]
  2. Cluster2中子項目2 [X]
  3. Cluster2中子項目3 [X]

羣集3:

  1. Cluster3子項目1 [X ]
  2. Cluster3子項2 [x]
  3. Cluster3 s ubitem 3 [X]

我想建立的查詢等,在相同的簇中選擇的項目將被通過OR連接和選自不同簇項將通過被接合AND ..

例如(Cluster1 Subitem 1 OR cluster1 subitem 2)AND(Cluster2 Subitem 3)AND(Cluster3 Subitem 1 OR cluster3 subitem 3)

在上面的例子中,選擇的項目是cluster1中的子項目1和2,cluster2中的子項目3和子項目1和cluster3 3 ...

我已成功地在這一小提琴硬編碼值來實現它:http://jsfiddle.net/rahulrulez/8YfmW/3/

代碼片段 -

 switch (parent.Id()) { 
     case "IsIssue": 
      if (self.IsIssue.indexOf(item.Value()) == -1 && item.isChecked(false)) self.IsIssue.push(item.Value()); 
      else self.IsIssue.remove(item.Value()); 
      break; 
     case "Owner": 

      if (self.Owner.indexOf(item.Value()) == -1 && item.isChecked(false)) self.Owner.push(item.Value()); 
      else self.Owner.remove(item.Value()); 
      break; 
     case "Project": 
      if (self.Project.indexOf(item.Value()) == -1 && item.isChecked(false)) self.Project.push(item.Value()); 
      else self.Project.remove(item.Value()); 
      break; 
    } 

有什麼辦法去優化它,如果我們對數字我不確定我們從服務器獲得的f羣集作爲響應?

由於提前, 拉胡爾

回答

1

你可以綁定你的觀察到器isChecked複選框:

<input type="checkbox" data-bind="attr : { value : Name}, checked: isChecked"> 

然後在您的計算機創建查詢,這裏有一個小提琴手例如:http://jsfiddle.net/RapTorS/PRV42/

相關問題