Как я могу обернуть перенос текста в таблицу данных jquery?

Я пытаюсь отобразить длинный текст с помощью таблицы данных, но почему-то он не обертывается. Это означает, что вместо того, чтобы получать несколько строк моего текста, я просто получаю длинную строку. Когда я иду в свою БД и редактирую поле «Описание» (тип поля — текст), я вижу текст в нескольких строках.

Я уже пытался установить ширину таблицы на 100%, но тогда текстовая строка продолжает выходить за пределы таблицы. Я также пытался добавить перенос слов и гибкий перенос и определить класс переноса текста в своем CSS, но это также не сработало.

Есть идеи, как я могу это решить?

  <div style = "font-size:18px;">
    <table class = "table-striped table-hover" id = "product_table" cellspacing = "0" width = "100%">
      <thead>
        <tr>
          <th>Name</th>
          <th>Group</th>
          <th>Price</th>
          <th>Action</th>
          <th class = "none">Description DE</th>
          <th class = "none">Description EN</th>
          <th class = "none">Description ES</th>
        </tr>
      </thead>
      <tbody>
        @foreach($ProductList as $product)
        <tr>
          <td>{{$product['ProductName']}}</td>
          <td>{{$product['ProductGroupName']}}</td>
          <td>{{$product['ProductListPrice']}}</td>
          <td ><button class = "btn btn-primary waves-effect w-md waves-light w-sm-5" data-toggle = "modal" data-target = "#Edit" data-id = "{{$product['ProductID']}}" data-name = "{{$product['ProductName']}}" data-group = "{{$product['ProductGroupName']}}"
              data-price = "{{$product['ProductListPrice']}}" data-descde = "{{$product['ProductDescriptionDE']}}" data-descen = "{{$product['ProductDescriptionEN']}}" data-desces = "{{$product['ProductDescriptionES']}}">Edit</button>
          <td>{{$product['ProductDescriptionDE']}}</td>
          <td>{{$product['ProductDescriptionEN']}}</td>
          <td>{{$product['ProductDescriptionES']}}</td>
          </td>
        </tr>
        @endforeach
      </tbody>
    </table>
  </div>

  <script type = "text/javascript">
    $(document).ready(function() {
      $('#product_table').DataTable({
        columnDefs: [{
          "className": "dt-center",
          "targets": "_all"
        }],
        pageLength: 50,
        responsive: true
      });
    });
  </script>
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
1
0
4 672
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

попробуйте добавить класс wrap в свою таблицу.

<table class = "table-striped table-hover wrap" id = "product_table" cellspacing = "0" width = "100%">

https://datatables.net/forums/discussion/43760/force-datatable-to-wrap-text#Comment_115199

Я пробовал это в начале, но это не сработало. но я уже нашел решение своей проблемы. Спасибо!

matilarab 09.04.2019 12:11

Это должно работать, если ваша версия с данными выше 1.10.1. Добро пожаловать.

Md.Sukel Ali 09.04.2019 12:13
Ответ принят как подходящий

Неважно, я нашел свою ошибку. Класс CSS был неправильным. Вот каким должен быть класс:

.text-wrap{
    white-space:normal;
}

Вот мое решение, оно работает на всех видах таблиц:

table.dataTable tbody td {
  word-break: break-word; word-break: break-all; white-space: normal;
}

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