Не зная больше о проблеме, я бы дал вам несколько вещей:
Вы определяете определение "столбцы" дважды. Один раз выше и один раз ниже. Скорее всего, он возьмет значение второго и перезапишет первое, которое вы определили вверху, поэтому поместите верхнее в остальное внизу и решите, хотите ли вы его переопределить.
Простая вещь - пейджинг написан с ошибкой, может быть:
"paginng": true,
Изменить на "пейджинг"
Подтвердить, что указанные значения для данных, таких как "TrainingType", такие же, как в наборе данных, возвращенных в JSON с сервера? Например, это так:
{"trainingType": {значение}, "trainingDescription": {значение}, "цена": {значение}, "место проведения": {значение}, " фасилитатор ": {value}," whoAttend ": {value}," rsvp ": {value}}
Я спрашиваю только потому, что часто JSON данные возвращаются в случае верблюда, поэтому было бы хорошо проверить если код таблицы данных чувствителен к регистру?
Редактировать: Ах, я вижу, что происходит, это то, что он не любит делать выбор. Я не помню, каково было обоснование этого, но в любом случае вот код, который будет работать.
$(document).ready(function () {
$("#EventsManagementsTable").DataTable({
"serverSide": "true",
"order": [0, "asc"],
"processing": "true",
"paging": true,
"ordering":true,
"language": {
"processing": "processing...... please wait"
},
"ajax": {
"url": "/Dashboard/GetData",
"type": "GET",
"datatype": "JSON"
},
"columns": [
{ "data": "trainingType", "name": "TrainingType", "autoWidth": true },
{ "data": "trainingDescription", "name": "TrainingDescription", "autoWidth": true },
{ "data": "price", "name": "Price", "autoWidth": true },
{ "data": "venue", "name": "Venue", "autoWidth": true },
{ "data": "facilitator", "name": "Facilitator", "autoWidth": true },
{
"data": "whoAttend",
"name": "WhoAttend",
"render": function (value) {
var sel = $('<select />')
.addClass("form-control")
.attr("name", "WhoAttend")
.append($("<option/>", { text: "Engineers", value: "Engineers" }))
.append($("<option/>", { text: "Inspectors", value: "Inspectors" }))
.append($("<option/>", { text: "Technicians", value: "Technicians" }))[0];
$(sel.options).each(function() {
if(this.value === value) {
$(this).attr("selected",true);
}
});
return sel.outerHTML;
},
"autoWidth": true
},
{ "data": "rsvp", "name": "RSVP", "autoWidth": true }
]
});
});
PS Не держите часть [0] этой одной строки против меня. Оно работает. ;-) Может быть, вы могли бы сказать мне, почему это так работает. Я помню, как нечто подобное происходило раньше, и кто-то сказал мне, почему val () не выбирает и почему создание select портит и более правильный способ сделать это, но я не помню, что это было сейчас. В любом случае приведенный выше код наверняка должен работать сейчас наверняка.