2017-02-28 32 views
0

我正在使用以下來創建一個數據表。在jQuery數據表中創建一個組合框

mydata = [{ 
     "id": "1", 
     "name": "daniel", 
     "age": "28", 
     "position": "accountant", 
     "status": "A" 
    }, { 
     "id": "2", 
     "name": "jack", 
     "age": "55", 
     "position": "architect", 
     "status": "R" 
    }]; 

    $('#myTable').dataTable({ 
     "aaData": mydata, 
      "aoColumns": [{ 
      "mDataProp": "id" 
     ,{ 
      "mDataProp": "name" 
     }, { 
      "mDataProp": "age" 
     }, { 
      "mDataProp": "position" 
     }, 
      { 
      "mDataProp": "status" 
     }] 
    }); 

現在我需要創建一個組合框爲列 「狀態」(選項:d,L,A,R),其具有與單獨的ID(ID使用來自 「ID」 列)的每個狀態。作爲一個開始我用mRender函數創建像組合框:

{ 
      "mDataProp": "status", 
      mRender: function(oObj){ 
        return '<select id = "status">'+'<option value = "D"> D </option>'+'<option value = "L"> L </option>'+'<option value = "A"> A </option>'+'<option value = "R"> R </option>'+'</select>'; 
     } 
     } 

這只是創建了一個簡單的組合框,但我想知道,以我將如何分配的「ID」列每個選項。有什麼建議麼?

+0

是不是你的數據錶鏈接*只*爲CSS?你在哪裏得到datatables.js?另外:把你的代碼放在'$(document).ready()'中......你的控制檯可能出錯了,錯誤是什麼? – sweaver2112

+0

我包括datatables.js cdn,它工作正常。謝謝! – Jesal

+0

我還想知道的是,如果我將「myData」作爲單獨的json文件,我將如何指向它?我相信$ .getJSON()和$ .ajax將需要一個url。 – Jesal

回答

0

你可以從不同的絕對URL您的JSON文件(例如,www.example.com/files/myJson.JSON),或從一個相對URL(例如,/files/myJson.JSON

其餘部分是相當簡單的。

$(document).ready(function() { 
$.getJSON("<<LOCATION OF YOUR FILE>>", function(data) { 
var mydata = data; 

$('#myTable').dataTable({ 
    "aaData": mydata, 
     "columns": [{ 
     "data": "name" 
    }, { 
     "data": "age" 
    }, { 
     "data": "position" 
    }] 
    }); 
    }); 
}); 

保持您的HTML原樣。請注意,我簡化了Datatables格式,因爲您使用的是舊版標籤。

+0

謝謝jonmrich。我試過這個,但是我的控制檯出現錯誤,提示GET文件:/// C:/Users/data.json net :: ERR_FILE_NOT_FOUND。我檢查了錯別字和我的相對路徑,一切似乎都是應該的。 – Jesal

+0

這是暗示這是指向本地機器,是所有這些都在運行? – jonmrich

+0

是的。所有這些都在我的本地機器上運行。 – Jesal