Отправить данные из строки таблицы с помощью кнопки, используя Javascript

0

У меня есть динамический список записей, которые я показываю в таблице с каждой строкой, имеющей две кнопки, один из них возьмет пользователя на страницу для просмотра/редактирования данных, а другой - для удаления элемента строки.

Я пытаюсь выяснить, как создать javascript, чтобы вытащить скрытое значение lead_id только для этой строки, если выбрана одна из этих кнопок.

Я понимаю, как вытаскивать значения из одного результата из именованного элемента с помощью js, просто имея проблемы с пониманием того, как извлечь единственный результат из строки, на которую нажата кнопка.

Вот HTML:

<table id="lead_list" width="100%">

        <th>
    <tr>
        <td><strong>Date</strong></td>
        <td><strong>First Name</strong></td>
        <td><strong>Last Name</strong></td>
        <td><strong>Email</strong></td>
        <td><strong>Company</strong></td>
        <td><strong>Lead Status</strong></td>
        <td><strong>Actions</strong></td>
    </tr>
        </th>
    <tr>
        <td>2014-03-06</td>
        <td>Bob</td>
        <td>Wilson</td>
        <td><a href="mailto:[email protected]">[email protected]</a></td>
        <td>MyFunLIFE</td>
        <td>Subscribed</td>
        <td><input type="hidden" name="lead_id" value="379" />
            <input type="button" class="view-edit-lead" value="View/Edit" />
            <input type="button" class="delete-lead" value="Delete" /></td>
    </tr>
    <tr>
        <td>2014-03-06</td>
        <td>Tom</td>
        <td>Shuemate</td>
        <td><a href="mailto:[email protected]">[email protected]</a></td>
        <td>MyFunLIFE</td>
        <td>Subscribed</td>
        <td><input type="hidden" name="lead_id" value="377" />
            <input type="button" class="view-edit-lead" value="View/Edit" />
            <input type="button" class="delete-lead" value="Delete" /></td>
    </tr>
    <tr>
        <td>2014-03-06</td>
        <td>Biggie</td>
        <td>Smalls</td>
        <td><a href="mailto:[email protected]">[email protected]</a></td>
        <td>MyFunLIFE</td>
        <td>Subscribed</td>
        <td><input type="hidden" name="lead_id" value="376" />
            <input type="button" class="view-edit-lead" value="View/Edit" />
            <input type="button" class="delete-lead" value="Delete" /></td>
    </tr>
</table>

Вот текущие js, которые я использую для этого:

$('td.wplp-inputs input').click(function(){ 

// Don't allow access to the page while we process data.
$.blockUI({ 

    message: '<h1>Just a moment</h1><br /><br />Lead is being deleted...', 
    css: { 
        top:  ($(window).height() - 400) /2 + 'px', 
        left: ($(window).width() - 400) /2 + 'px', 
        width: '400px',
        Height: '250px', 
        padding: '10px'
    } 

    });     


// if the button class is
if( $(this).is('.delete-lead') ) {
    /// delete
    data = new Object();
    data.lead_id = $(this).siblings('input[type="hidden"]').val();

    alert(JSON.stringify(data));          

    data.action = "delete_lead"; //the action to call
    data._ajax_nonce = wplpajaxobjfront.nonce; // This is the name of the nonce setup in the localize_script
    data.ajaxUsed = "yes";

    // Define the URL for the AJAX to call
    var url = wplpajaxobjfront.ajaxurl; 

    //alert( JSON.stringify( data ) );
    //alert( JSON.stringify( url ) );

    $.post(url, data, function(response) {

        alert(response);
        window.location.reload();
        //window.location.href = response;
        $.unblockUI();
        //window.open(response,"_blank","","");

    });

} else {
    /// edit/view

    alert(reponse);

}

return false;   //Do not remove!

});

Как только у меня будет метод получения данных только из одной строки таблицы для отправки, в частности lead_id, я смогу передать ее моей функции PHP без проблем.

Проблема с js также не позволяет передавать другие значения в данные var, единственным элементом, который в настоящее время возвращается из вызова ajax, является lead_id без входящего имени, то же самое для data.action, data.ajaxUsed и data._ajax_nonce и т.д.,

Заранее благодарю вас за любую помощь в этом отношении.

1 ответ

0

вот простой способ получить значение lead_id для каждой строки при нажатии кнопки

$('td input').click(function(){
  var el = $(this).siblings('input[type="hidden"]');

  // to get input name  
  var data = {};    /// create new object
  data[el.attr('name')] = el.val() ; // lead_id to data
  data['action'] = 'delete_lead';    // add action to data
  console.log(data);                 // log data to check, open your console and see data

  if( $(this).is('.delete-lead') ) {
       /// delete
  } else {
       /// edit/view
  }
});
  • 0
    Это прекрасно работает для получения значения, однако не возвращает имя для скрытого значения в записи. Как я могу получить lead_id в данных поста, отправленных на мой php скрипт? Я собираюсь отредактировать свой вопрос с текущей JS у меня есть.
  • 0
    @RickWeston снова проверяет ответ, data.lead_id возвращает входное значение
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню