0
我試圖在datatables中向過濾器顯示元素列表時出現問題。使用javascript過濾數據表(MVC 3)中的選擇列表
我遵循this tutorial並嘗試在數據表中創建篩選記錄。
我有這樣的代碼,在我的控制器返回列表:
public JsonResult grupMonedas()
{
IList<MONEDA> temp = (from c in db.MONEDA
select c).ToList();
var result = from c in temp
select new String[] { c.NOMBREMONEDA };
return Json(result);
}
這是我的JavaScript來使數據表和篩選器:
$(document).ready(function() {
//Nombre en la tabla donde se ejecutara
var oCuentas = $('#tablaCuentas').dataTable({
//Es el que emplementa para trabajar con la pagina
"bServerSide": true,
//Metodo el qual se ejecutara
"sAjaxSource": "Cuentas/CargarCuentas",
//Mensaje cargado
"bProcessing": true,
"bJQueryUI": true,
//Columnas que cargara
"aoColumns": [
//Las columnas tienen que coincidir con la base de datos
{"sName": "NUMCUENTA" }, { "sName": "NOMBRECUENTA" }, { "sName": "SALDO" }, { "sName": "Moneda" }
],
//Mostrar Diferentes opciones
"bPaginate": true,
"bLengthChange": true,
"bFilter": true,
"bSort": true,
"bInfo": true,
"bAutoWidth": true
}).columnFilter({
"aoColumns": [
{ sSelector: "#numeroFiltro", type: "number" },
{ sSelector: "#nombreFiltro", type: "text" },
{ sSelector: "#saldoFiltro", type: "number-range" },
{ sSelector: "#monedaFiltro", type: "select", values: grupMonedas() }
]
});
});
function validateJSON(x) {
var orig = x;
var stgify = JSON.stringify(orig);
var splitchar = ['\\"', '\',\'', '[', ']', '\"'];
var joinchar = ['\'', '\':\'', '', '', ''];
for (i = 0; i < 5; i++) {
stgify = stgify.split(splitchar[i]);
tmp = stgify.join(joinchar[i]);
stgify = tmp;
}
stgify = "[" + stgify + "]";
var finalEdit = stgify;
//alert(finalEdit); <- returns a ok list of elements :S
return finalEdit;
}
function grupMonedas() {
$.post('Cuentas/grupMonedas', {},
function (data) {
grupMonedas = validateJSON(data);
},
'json/javascript'
);
return grupMonedas;
}
但在選擇過濾器「 Moneda「只是放了一個」標題「,沒有其他的東西,沒有在列表中創建的元素。
在此先感謝。
PS:對不起,我的英語