Редактор данных Тип поля 'выберите' + действие для редактирования и удаления проблем с кнопками
Привет у меня есть веб-приложение, созданное с использованием Java + Struts2 + Hibernate. Я использую DataTable Editor при отображении содержимого одной из внутренних таблиц. Я новичок в DataTables, и мне трудно сделать несколько вещей.
1) раскрывающийся списокNew/Edit
Окно будет содержать раскрывающийся список, а параметры раскрывающегося списка поступают из БД. Я не уверен, как вернуть объект JSON, который содержит список и итерировать его, чтобы заполнить раскрывающийся список в упомянутом окне ??
2) Как получить значение скрытого столбца выбранной строки после нажатия на кнопку удаления из DataTable?
Ниже мой код:
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Description</th>
<th>Category</th>
<th>Payee</th>
<th>Date</th>
<th>Amount</th>
<th>Income ID</th>
</tr>
</thead>
</table>
JQuery:
<script src="jquery/dt_editor/jQuery-2.1.4/jquery-2.1.4.min.js"></script>
<script src="jquery/dt_editor/DataTables-1.10.10/js/jquery.dataTables.min.js" ></script>
<script src="jquery/dt_editor/Buttons-1.1.0/js/dataTables.buttons.min.js"></script>
<script src="jquery/dt_editor/Select-1.1.0/js/dataTables.select.min.js" > </script>
<script src="jquery/dt_editor/Editor-1.5.4/js/dataTables.editor.min.js" ></script>
<script>
var editor;
$(document).ready(function() {
editor = new $.fn.dataTable.Editor( {
"ajax": "refreshIncomeData",
"table": "#example",
"fields": [ {
"label": "Description:",
"name": "inocme.description"
}, {
"label": "Amount:",
"name": "inocme.amount"
},
{
"label": "Category:",
"name": "userCodeID",
"type": "select",
"options": [{userCodeName: "Edinburgh", userCodeID: 51}],
optionsPair: {
label: 'userCodeName',
value: 'userCodeID'
}
},
{
"label": "Transaction Date:",
"name": "inocme.transactionDate",
"type": "datetime",
"def": new Date()
}
]
} );
$('#example').DataTable( {
dom: "Bfrtip",
"ajax": "refreshIncomeData",
serverSide: true,
"aoColumns": [
{"mData":"description","bSearchable": true,"bSortable": true},
{"mData":"catergory.userCodeName","bSearchable": false,"bSortable": false},
{"mData":"payee.payeeName","bSearchable": false,"bSortable": false},
{"mData":"transactionDate","bSearchable": false,"bSortable": false},
{"mData":"amount","sWidth":"30px","bSearchable": false,"bSortable": true},
{"mData":"incomeID","visible":false}],
select: true,
buttons: [
{ extend: "create", editor: editor },
{ extend: "edit", editor: editor },
{ "text": "Remove Record", action: function(){
$.each($("#example tr.selected"),function(){ //get each tr which has selected class
alert($(this).find('td').eq(4).text()) //Gives me 4th column value of the table(amount)
});
} }
]
} );
} );
&l,t;/script>
Я могу получить значение 4-го столбца (которое является суммой) из таблицы при нажатии на кнопку удаления. Но я не могу получить значение 5-го столбца, которое является скрытым значениемID (первичного ключа) (bVisible: false). Теперь, как получить значение этого скрытого столбца? Это может решить мою проблему.
Обновить:
var myTable=$("#example").DataTable();
var col=myTable.row().cell(5).data();
alert(col);
это дает мне тип объекта. Я не уверен, как получить текст из объекта или преобразовать этот объект в обычный текст?