Передача значения параметра от кнопки Datatables к функции

1

Я пытаюсь передать значение кнопки в таблице данных функции. Однако я просто получаю значение первой строки. Надеюсь, ты сможешь мне помочь. Мне просто нужно предупредить параметр, а обо всем остальном я позабочусь.

вот код

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> '
                    

                }},

        ],

    } );
}
Теги:
datatables bootstrap-modal
CodeFix

1 ответ

0

Я думаю, вы очень хорошо не знаете об ответных данных для 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.

Изображение 291458

Поделиться
Источник
  • 0
    получил параметры в моих таблицах данных .. Я просто хочу предупредить его о функции javascript. В инструменте Dev я могу видеть все параметры, которые мне нужны в каждой строке, так что с этим проблем нет .. Проблема в том, что я не могу передать их в функцию js или JS, а все остальное я сделаю. Примечание. Я знаю, как использовать инструменты разработчика. .
  • 0
    Простите за это. Но вы пропустили jsondata.data . Данные ответа - $dataArray - это всего лишь массив, поэтому возникли ошибки. Сапсулировать $dataArray в {..., data:$dataArray, ...} .

Другие вопросы

  • Функция клавиатуры работает только один раз для первой буквы ввода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 из нескольких регионов. В настоящее время я работаю над функцией, которая позволяет пользователям фильтровать результаты по категориям и не имею честного представления о том, с чего начать реализацию. Вот...

CodeFix
Цитата дня

"Завидую тестировщикам: все хотят с ними дружить."

Эндрю Таненбаум