Javascript действия всегда тянут первый стол - PullRequest
0 голосов
/ 14 января 2020

На моей странице есть две таблицы, каждая из которых имеет инструменты экспорта, которые будут экспортировать таблицу в файл CSV. Когда я go для экспорта таблицы будет экспортировать только первую таблицу, есть ли способ получить правильную таблицу? Нужно ли добавлять что-то вроде ближайшей таблицы?

oTableByClassTable2 - это группа из трех таблиц, как мне выбрать одну выбранную?

enter image description here

   JS
    $('.report2_tools > li > a.tool-action').on('click', function () {
        debugger;
        var action = $(this).attr('data-action');
        debugger;
        oTableByClassTable2.DataTable().button(action).trigger();
        debugger;
    });

HTML

 <div class="actions">
        <div class="btn-group">
          <ul class="dropdown-menu pull-right report2_tools">
            <li>
              <a href="javascript:;" data-action="0" class="tool-action">
                <i class="icon-printer"></i> csv
              </a>
            </li>
          </ul>
        </div>
      </div>
    <div class="portlet-body">
      <div class="row">
        <div class="col-md-12">
          <div class="form-group">
            <div>
                  <table class="table table-striped table-hover table-bordered report2">
                  </table>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
<div class="actions">
        <div class="btn-group">
          <ul class="dropdown-menu pull-right report2_tools">
            <li>
              <a href="javascript:;" data-action="0" class="tool-action">
                <i class="icon-printer"></i> csv
              </a>
            </li>
          </ul>
        </div>
      </div>
    <div class="portlet-body">
      <div class="row">
        <div class="col-md-12">
          <div class="form-group">
            <div>
                  <table class="table table-striped table-hover table-bordered report2">
                  </table>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

1 Ответ

0 голосов
/ 15 января 2020

В соответствии с документацией по кнопкам селектора кнопки DataTable , вы видите дизайн.

Важно. Если используемые селекторы приводят к выбору более одной кнопки, этот метод автоматически усекает результат только до первой найденной кнопки.

Другие типы Селекторы больше соответствуют вашему примеру, например, кнопки ()

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

<table id="tbl1"></table>
.....
$('.tbl1').DataTable().button().trigger()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...