2017-08-08 87 views
0

在我的JSON中,我有一個嵌套的Object數據作爲數組和對象。它看起來像:JQuery Datatables使用嵌套對象數據過濾列(數組中的對象)

"contentVMlist":[ 
      { 
       "dbContID":3, 
       "dbContType":2, 
      }, 
      { 
       "dbContID":1, 
       "dbContType":1, 
      } 

"aoColumns: [ { "data": "contentVMlist.[ ].dbContType"} ]"我得到的數據到表。 它在表格列「2 1」中顯示。

this.api().columns([9]).every(function() { 
var column = this; 
else if (column[0] == 9) { 
var select2 = $('<select> </select>') // the select is not so short i just shortened it now 
          .appendTo($('#dbContType')).on('change', function() { 
             var val = $.fn.dataTable.util.escapeRegex(
              $(this).val() 
             ); 
column.search(val ? '^' + val + '$' : '', true, false).draw(); 
}); 

如果 「contentVMlist」 只有1項,一切工作正常。但是,如果有2個或更多條目(如「1 3」或「1 3 2」),則無法將條目看作單個發生。它可以工作,如果選擇是「1 3 2」,但用戶只想要選擇一個,然後所有類型都顯示出來(如果有多個它也應該顯示)

我怎樣才能得到這樣做? 我嘗試了幾個不同的東西,沒有奏效。

+0

什麼是你想達到什麼目的?有選擇列表中的所有dbContType值的列表? – balint

+0

@balint我有一個與dbContTypes的下拉過濾器。用戶可以使用該過濾器 – Shaorandra

回答

0

我想最簡單的方法是通過這個嵌套數組遍歷:

var contentVMlist= []; // get a reference to the nested array 
jQuery.each(contentVMlist, function() { 
    console.log(this.dbContType); // check it 
    selectObj.appendTo("<option>"+this.dbContType+"</option>"); 
}); 
+0

來過濾數據表,以填充下拉菜單的權限?我有一個下拉選擇選項「1」,「2」等。並過濾數據表。但只有那些只有一個控制類型的列。如果有兩個contType(如「1 2」),它不會識別它們。對不起,如果我的問題不清楚 – Shaorandra