Datatables Jquery на стороне сервера Пример ссылки на проект:
Аналогично этой статье , но без использования C #.
Этот код ниже правильно получает правильную цену в правильном ряду.
$(document).on('click','.add_btn',function (){
var id = $(this).attr("id");
var dataRow = $('#example').DataTable().row( id ).data();
var price = dataRow[2];
Итак, я ожидаю, что ответ будет выглядеть примерно так:
var qtd = dataRow[3]; //[3] because the select options is the next column
var qtd_num = document.getElementById(qtd).selectedOptions[0].value;
Запутанная часть заключается в получении идентификатора элемента для его включения в приведенную выше формулу. Поскольку идентификатор на данный момент - meta.row, использующий библиотеку datatables (что может измениться?). Вот мой полный код:
<script type="text/javascript">
var numbers= [1, 2 , 3, 4];
$(document).ready(function() {
var table= $('#example').DataTable( {
"processing": true,
"serverSide": true,
ajax: {
url: 'server.php',
type: 'POST',
},
columnDefs: [
{ targets: -1,
render: function (data, type, row, meta) {
return '<button type="submit" class="add_btn btn btn-success btn-md active" data-id="' + meta.row + '" id=" ' + meta.row + ' " value="add"> <span class="glyphicon glyphicon-plus"></span> </button>';
}
},
{
targets: -2,
render: function (data, type, row, meta){
var $select = $('<select data-id="' + meta.row + '" id="' + meta.row + ' " ></select>', {
});
$.each(numbers, function (k, v, row, meta) {
var $option = $("<option></option>", {
"text": v,
"value": v
});
if (data === v) {
$option.attr("selected", "selected")
}
$select.append($option);
});
return $select.prop("outerHTML");
}
} ],
})
} ); // end ready
</script>