【问题标题】:Getting error Requested unknown parameter with jquery datatables使用 jquery 数据表获取错误请求的未知参数
【发布时间】:2015-09-01 11:47:28
【问题描述】:

我有一个使用 jQuery Datatables 插件的表。我不断收到以下错误(在页面加载时以警告框的形式出现)。

DataTables 警告:表 id=example - 请求第 0 行的未知参数“10”。

我一直在阅读文档,但无法理解我的错误在哪里。这是我的桌子:

<table id="example" class="table table-hover card display dataTable table_judge_tournoi">
       <thead>
         <tr>
           <th>Exporté</th>
           <th>Select</th>
           <th>Prénom</th>
           <th>Nom</th>
           <th>Licence</th>
           <th>Inscription</th>
           <th class="text-center">Profil</th>
           <th>Convocation en cours</th>
           <th>Messages<th>
           <th>Dispos</th>
         </tr>
       </thead>
       <tbody>
         <% @subscriptions.each do |subscription|%>
           <tr class="subscription_item" id="<%= subscription.id %>">
                <%if subscription.exported == true%>
                  <td>true</td>
                <%else%>
                  <td>false</td>
                <% end -%>
               <% if subscription.status == "confirmed" %>
                  <td class="checkbox"><input class="checkbox-player" type="checkbox"></td>
               <% else %>
                  <td></td>
               <%end%>
                <td class="first-name"><%= subscription.user.first_name%></td>
                <td><%= subscription.user.last_name%></td>
                <td><%= subscription.user.licence_number%></td>

                <%if subscription.status == "pending" %>
                <td>
                    <%= form_for [@tournament, subscription] do |f| %>
                      <%= f.select :status, Subscription.status.options, :confirm => 'Your confirm message', remote: true, class: "form-control subscription-status" %>
                   <%end%>
                </td>
                <%elsif subscription.status == "confirmed"%>
                  <td>
                    <div class="btn btn-success">
                      <a href="#" data-target="#confirme" data-toggle="modal" class="subscription_status">
                        Confirmé
                      </a>
                    </div>
                    <div class="modal fade" id="confirme">
                      <div class="modal-dialog mymodal">
                        <div class="modal-content text-center">
                          <div class="modal-header">
                            <h4 class="modal-title">Remboursement</h4>
                             <p>Ce joueur ne participe plus au tournoi finalement ? Vous pouvez le supprimer et procéder au remboursement de ses frais d'inscription ! <br></p>
                             <p> Il vous suffit de cliquer sur <strong>Rembourser</strong> ci-dessous pour que son inscription au tournoi soit supprimé et lui reverser ses frais d'inscription</p>
                          </div>
                          <div class="modal-body">
                          <%= form_tag refund_path(subscription) do %>
                          <%= hidden_field_tag :subscription_id_refund, subscription.id %>
                          <%= submit_tag "Rembourser ce joueur", id: "export", class: "btn btn-warning"%>
                          <% end -%>

                          </div>
                          <div class="modal-footer">
                          </div>
                        </div><!-- /.modal-content -->
                      </div><!-- /.modal-dialog -->
                    </div>
                  </td>
                <%elsif subscription.status == "sent"%>
                <td>
                <p>Envoyée</p>

                <%else%>
                <td>
                  <div class="btn btn-danger">
                    <a href="#" data-target="#refuse" data-toggle="modal" class="subscription_status">
                      Refusé
                    </a>
                  </div>
                  <div class="modal fade" id="refuse">
                    <div class="modal-dialog mymodal">
                      <div class="modal-content text-center">
                        <div class="modal-header">
                          <h4 class="modal-title">Accepter ?</h4>
                           <p>Vous souhaitez finalement accepter ce joueur au sein du tournoi ? Pas de problèmes. Cliquer sur "Nouvelle demande d'inscription" ci-dessous pour que celui-ci procède au paiement en ligne </p>


                        </div>
                        <div class="modal-body">
                          <%= form_tag askpayment_path(subscription) do %>
                            <%= hidden_field_tag :subscription_id_judge_asks, subscription.id %>
                            <%= submit_tag "Nouvelle demande d'inscription", id: "export", class: "btn btn-warning"%>
                            <% end -%>
                        </div>
                        <div class="modal-footer">
                        </div>
                      </div><!-- /.modal-content -->
                    </div><!-- /.modal-dialog -->
                  </div>
                </td>
              <% end %>

              <td><button type="button" class="btn btn-primary "><%=link_to "Profil", user_path(subscription.user) %></button></td>


              <% if subscription.convocations.last %>
                <td><%= subscription.convocations.last.status_text %></td>
              <%else%>
                <td></td>
              <% end %>



              <% if subscription.convocations.last && subscription.convocations.last.messages != [] %>
              <td>
                <%=link_to "+1", convocation_messages_path(subscription.convocations.last), class: "btn btn-success" %>
              </td>
              <%else%>
                <td></td>
              <% end %>



              <% if subscription.disponibility %>
              <td>
                <%= link_to image_tag("fleche_bleufonce.svg"), subscription_disponibility_path(subscription, subscription.disponibility), class: "fleche_subscription" %>
              </td>
              <% else %>
                 <td>Non renseignées</td>
              <% end %>
            </tr>
          <%end%>
        </tbody>
    </table>

这是用于数据表工作的 js:

$(document).ready( function () {
  $.fn.dataTableExt.oStdClasses["sFilter"] = "my-style-class";
    $('#example').DataTable({
      "paging": false,
      "ordering": false,
      "info":     false,

    });
});

【问题讨论】:

    标签: jquery html ruby-on-rails ruby datatables


    【解决方案1】:

    根据DataTables manual,可能发生的原因之一是:

    • 表格中的单元格数不满足公式#cells = #columns * #rows(即标题中定义的列多于表格主体中定义的列,反之亦然)。

    我不是 Ruby 专家,但很可能您的代码在 &lt;tbody&gt; 中生成的列 &lt;td&gt;&lt;/td&gt; 比在标题 &lt;thead&gt; 中定义的 &lt;th&gt;&lt;/th&gt; 元素的数量要多(在您的示例中为 10)。

    【讨论】:

    • 发现问题&lt;th&gt;Messages&lt;th&gt; 我在结束 标记中缺少 \
    • @DavidGeismar,太棒了!我也错过了双 &lt;th&gt; 标签,而是计数 &lt;td&gt;,很高兴你找到它。
    猜你喜欢
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    相关资源
    最近更新 更多