第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

無(wú)法將行動(dòng)態(tài)添加到 Jquery 數(shù)據(jù)表

無(wú)法將行動(dòng)態(tài)添加到 Jquery 數(shù)據(jù)表

qq_遁去的一_1 2023-01-06 09:45:14
我在 jquery 數(shù)據(jù)表中執(zhí)行 2 個(gè)函數(shù)。根據(jù)選擇標(biāo)簽搜索和過(guò)濾表格。通過(guò) ajax 將行動(dòng)態(tài)添加到數(shù)據(jù)表。當(dāng)我添加行時(shí),雖然行被添加到表中并且行數(shù)在分頁(yè)中增加但是表由于搜索功能而顯示空行。刷新表格后,我就能看到所有行。我發(fā)現(xiàn)主要問(wèn)題出在$.fn.dataTable.ext.search.push()函數(shù)中,因?yàn)閠able.rows.add($trHTML).draw(); 不管用。由于我無(wú)法解決的搜索功能,正在創(chuàng)建一些依賴項(xiàng)。請(qǐng)?zhí)峁┮恍┙ㄗh來(lái)解決它。
查看完整描述

1 回答

?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊

我用我的一個(gè)小存儲(chǔ)庫(kù)創(chuàng)建了一個(gè)小示例,希望它能幫助您解決問(wèn)題:


var table = $('#example').DataTable({

  "bLengthChange": false,

  //searching: false,

  pageLength: 3,

  dom: 'tip'

});

  

$.fn.dataTable.ext.search.push(function( settings, data, dataIndex ) {

    

    var filterCategory= $("#cato option:selected").text().toUpperCase();

    var filterSubCategory= $("#subo option:selected").text().toUpperCase();

    var subCategory = String(data[2]).toUpperCase();

    var category = String(data[3]).toUpperCase();

    

    //console.log(filterSubCategory);

    

    if(filterSubCategory != "-SELECT SUBCATEGORY-") {

        if ( filterCategory == category && filterSubCategory == subCategory)

             return true;

        }

        else if(filterCategory != "-SELECT CATEGORY-") {

            if ( filterCategory == category)

             return true;

        }

        

        return false;

    }

);


$('#cato').on('change', function() {

  $('#subo').val("");

  table.draw();

});


$('#subo').on('change', function() {

  table.draw();

});


function getInfo() {


        var $subCategory = $("#subo option:selected").text()


        $.ajax({

      type:'GET',

      url: "https://my-json-server.typicode.com/SagnalracSO/repo/items?subcategory=" + $subCategory,

      /*data:{

        name:$('#name').val(),

        desc:$('#desc').val(),

        category:$("#catoo option:selected").text(),

        ,

        'csrfmiddlewaretoken': '{{ csrf_token }}'

      },*/

      dataType: "json",

      beforeSend: function(jqXHR, settings) {

      

          if($subCategory.toUpperCase() == '-SELECT SUBCATEGORY-') {

              alert('Select a SubCategory');

                jqXHR.abort();

          }

      },

      success: function(data) {

        

        var item = data[0];

        var jRow = $("<tr>").append("<td>" + item.id + "</td><td>" + item.product + "</td><td>" + item.subcategory + "</td><td>" + item.category + "</td>").append("</tr>");

        table.row.add(jRow).draw();


      }

   });

}

<link href="https://cdn.datatables.net/1.10.21/css/jquery.dataTables.min.css" rel="stylesheet"/>


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js"></script>


<select id="cato" class="form-control" >

  <option value="" disabled selected="true">-Select Category-</option>

  <option>Electronics</option>

  <option>Sports</option>

</select>


<select id="subo" class="form-control">

   <option value="" disabled selected="true">-Select Subcategory-</option>

   <option>Laptop</option>

   <option>Mobile</option>

</select>


<table id="example" class="table display">

  <thead>

    <tr>

      <th>Id</th>

      <th>Product</th>

      <th>Subcategory</th>

      <th>Category</th>

    </tr>

  </thead>

  <tbody id="r">

    <tr>

      <td>1</td>

      <td>Samsung</td>

      <td>Mobile</td>

      <td>Electronics</td>

    </tr>

    <tr>

      <td>2</td>

      <td>Racket</td>

      <td>Tennis</td>

      <td>Sports</td>

    </tr>

    <tr>

      <td>3</td>

      <td>Bat</td>

      <td>Cricket</td>

      <td>Sports</td>

    </tr>

    <tr>

      <td>4</td>

      <td>Dell</td>

      <td>Laptop</td>

      <td>Electronics</td>

    </tr>

    <tr>

      <td>5</td>

      <td>Iphone</td>

      <td>Mobile</td>

      <td>Electronics</td>

    </tr>

    <tr>

      <td>6</td>

      <td>Soccer Ball</td>

      <td>Soccer</td>

      <td>Sports</td>

    </tr>

  </tbody>

</table>

<br><br>

<input type="button" value="ADD ROWS" onClick="getInfo()" />


如果您的 Ajax 請(qǐng)求返回多條記錄,那么您可以替換為:


var item = data[0];

    var jRow = $("<tr>").append("<td>" + item.id + "</td><td>" + item.product + "</td><td>" + item.subcategory + "</td><td>" + item.category + "</td>").append("</tr>");

    table.row.add(jRow).draw();

有了這個(gè):


for (var item in data) {

    

        var item = data[item];

        

        var jRow = $("<tr>").append("<td>" + item.id + "</td><td>" + item.product + "</td><td>" + item.subcategory + "</td><td>" + item.category + "</td>").append("</tr>");

        table.row.add(jRow).draw();

    }

順便說(shuō)一句,如果將來(lái)你想創(chuàng)建涉及調(diào)用 API(通過(guò) Ajax 請(qǐng)求)的示例,就像我在這個(gè)示例中所做的那樣,我想向你推薦這個(gè)網(wǎng)站JSONPlaceholder


查看完整回答
反對(duì) 回復(fù) 2023-01-06
  • 1 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)