Передача значения параметра от кнопки Datatables к функции
Я пытаюсь передать значение кнопки в таблице данных функции. Однако я просто получаю значение первой строки. Надеюсь, ты сможешь мне помочь. Мне просто нужно предупредить параметр, а обо всем остальном я позабочусь.
вот код
memberlist.php
<?php
header('Content-Type: application/json; Charset="UTF-8"');
$columns = array(
// datatable column index => database column name
0 => 'HoId',
1 => 'Name',
2 => 'ClusterName',
3 => 'MemStatus',
4 => 'EmailId',
5 => 'RegDate'
);
include 'database.php';
$sql = "SELECT mi.HoId, CONCAT(mi.FirstName,' ',mi.LastName) as Name,mi.Cluster,mi.MemStatus,mi.EmailId,mi.MobileNo,mi.RegDate, ci.ClusterName, ci.CHname";
$sql2 = " from tblmemberinfo mi LEFT JOIN clusterinfo ci on ci.id = mi.cluster";
$sql3 = $sql.$sql2;
$res = mysqli_query($conn, $sql3) or die("Error: ".mysqli_error($conn));
$dataArray = array();
while( $row = mysqli_fetch_array($res) ) {
$HoId = $row['HoId'];
$Name = $row['Name'];
$ClusterName = $row['ClusterName'];
$MemStatus = $row['MemStatus'];
$EmailId = $row['EmailId'];
$RegDate = $row['RegDate'];
$dataArray [] = array("HoId" => $HoId,
"Name" => $Name,
"ClusterName" => $ClusterName,
"MemStatus" => $MemStatus,
"EmailId" => $EmailId,
"RegDate" => $RegDate);
}
$str = mb_convert_encoding($dataArray, "UTF-8");
echo json_encode($str);
?>
action.js = Мне просто нужно активировать параметр, а обо всем остальном я позабочусь.
$(document).ready(function() {
$('#memberlist').DataTable( {
"ajax": {
"type" : "POST",
"url" : "includes/memberlist.php",
"dataSrc": function ( jsondata ) {
return jsondata;
}
},
"columns": [
{ "data": "HoId" },
{ "data": "Name" },
{ "data": "ClusterName" },
{ "data": "MemStatus" },
{ "data": "EmailId" },
{ "data": "RegDate" },
{ data: null,
render: function(data, type, row) {
return '<button id="memberlist_but" type="button" value="'+ data.HoId +'"class="btn btn-block btn-primary">View</button> '
}},
],
} );
}

1 ответ
Я думаю, вы очень хорошо не знаете об ответных данных для datatable. Это пример. (с https://datatables.net/examples/data_sources/server_side.html )
{
"draw":3,
"recordsTotal":57,
"recordsFiltered":57,
"data":[
[
"Gloria",
"Little",
"Systems Administrator",
"New York",
"10th Apr 09",
"$237,500"
],
[
"Haley",
"Kennedy",
"Senior Marketing Designer",
"London",
"18th Dec 12",
"$313,500"
],
...
[
"Jennifer",
"Chang",
"Regional Director",
"Singapore",
"14th Nov 10",
"$357,650"
]
]
}
Как видите, после полученияjsondata
вdataSrc
обратного вызова, массив должен быть найден вjsondata.data
, а такжеjsondata.recordsTotal
иjsondata.recordsFiltered
должны быть инициализированы с сервера.
Кроме того, попробуйте проанализировать данные ответа от «действительно работающего» сервера с помощью инструментов Chrome Dev.
Другие вопросы
- Функция клавиатуры работает только один раз для первой буквы ввода2 ответ
У меня есть текстовый ввод, где пользователь вводит желаемое имя страницы<input type='text' id='pageName' name='PageName' class='form-control pageName'> Я пытаюсь использовать функцию keyup для запуска Ajax, чтобы проверить, существует ли страница, однако при вводе чего-то вродеindex Ajax от...
- Регулярное выражение Javascript возвращает null для ссылок Markdown1 ответ
На этот вопрос уже есть ответ : Почему это регулярное выражение javascript не работает? (1 ответ) Закрыт 11 дней назад . Я хочу преобразовать ссылки Markdown в массив, где первый элемент является URL-адресом, а второй элемент - отображаемой ссылкой. Я написал этот код для его анализа:const input = ...
- Как я могу получить счетчик из setInterval?3 ответ
У меня есть интервал, через который нужно выполнить несколько HTTP-запросов через одну минуту setInterval(() => { this.takeTableDataCallInterval(); }, 60000); Как я могу получить счетчик минус из моего номера интервала? Например, каждую секунду я хочу показывать что-то вроде60 second...
- Обработка событий для многих элементов - оптимизация моего решения1 ответ
Я создаю простой веб-сайт магазина (просто для практики), и хотя мое текущее решение работает, из того, что я читал, оно не оптимально и может быть улучшено путем создания прослушивателя событий в родительском элементе (здесь это будетcart-items вместо каждого элемента привязки. Проблема в том, что ...
- ajax дважды загружает данные из базы данных с помощью laravel php1 ответ
привет, я пытаюсь загрузить данные из базы данных с помощью ajax. но данные загружаются дважды на страницу html.<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script> $('button').click(function(){ $.ajax({ ...
- Могу ли я получить конкретное значение JSON по идентификатору?3 ответ
Я хотел бы, чтобы соответствующая дата typeId: 11 выводилась из следующего JSON. Порядок typeId всегда разный, поэтому не всегда получается, например, всегда обращаться ко второму значению. { "page": 1, "totalsCount": 1, "isLastPage": true, "last...
- WordPress: получение заголовка сообщения с идентификатором1 ответ
у меня естьACF relationship field называетсяvan_range_type .van_range_type показывает сообщения изrangecustom post type . В этом типе сообщений у меня есть три сообщения со следующими идентификаторами Диапазон 1 (ID: 116 ) Диапазон 2 (ID: 163 ) Диапазон 3 (ID: 164 ) У меня есть еще один тип сообщени...
- Бесточечная динамическая композиция функций3 ответ
Я пытаюсь реорганизовать эту функцию, чтобы она была бессмысленной.function siblings(me) { return R.pipe(family, R.reject(equalsMe(me)))(me); } Я бы хотел пройтиme функции вниз по трубе вместе со значением, котороеfamily возвращается. Пробовал несколько вещей сR.useWith или жеR.converge с участие...
- Как использовать javascript api при защите ключа api? [дубликат]2 ответ
На этот вопрос уже есть ответ : Как использовать внешние токены доступа api, не открывая их пользователю? (1 ответ) Закрыт в прошлом месяце . Новичок здесь. У меня есть приложение, которое использует Here's Geocoding REST API через node.js (w / express). (Мой ключ api находится на стороне серве...
- Фильтровать видео YouTube по категории1 ответ
В настоящее время я работаю над проектом, который отображает множество популярных видео YouTube из нескольких регионов. В настоящее время я работаю над функцией, которая позволяет пользователям фильтровать результаты по категориям и не имею честного представления о том, с чего начать реализацию. Вот...

"Завидую тестировщикам: все хотят с ними дружить."
jsondata.data
. Данные ответа -$dataArray
- это всего лишь массив, поэтому возникли ошибки. Сапсулировать$dataArray
в{..., data:$dataArray, ...}
. coding monster