获取html和jquery中表的列值的总计数

时间:2018-03-23 19:26:30

标签: jquery html css json

我有一张桌子,价值来自json,我需要'forkscount'列中的关键总数,这里总共有11个'关键'但是如何获得该值,我已经尝试过控制台和警报但我没有成功,如果有人知道请需要帮助,谢谢Advance.Below是我执行的代码html,javascript,css,json,这只能在localhost中打开。如果你直接想通过点击index.html打开它不会开放。

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.js"></script>
  <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.css">
 <script type="text/javascript" charset="utf8" src="js/script.js"></script>
<div class="col-md-12">
<div class="col-md-4 critical-box" id="critical">critical</div><div id="major" class="col-md-4 major-box">major</div><div id="test" class="col-md-4 All-box">All</div>
</div>
<div id="div">
<div>
 <table id="example">
        <thead>
            <tr>
            <th style="display:none;">test</th>
                <th>name</th>
                <th>stargazerscount</th>
                <th>forkscount</th>
                <th>description</th>

            </tr>
        </thead>



        <tbody>

        </tbody>
    </table>
    </div>
    <div>ssss</div>
</div>

的script.js

    $.ajax({
        url: "http://localhost/bootstrap-tablefilter/js/members.json", 
        type: "POST",    
        dataType:"json",   
        success: function (response) 
        {
         // var trHTML = '';
          $.each(response, function (key,value) {
             $('table#example TBODY').append('<tr><td style="display:none;">test</td><td>'+value.name+'</td><td>'+value.stargazerscount +'</td><td ><span class="'+ value.forkscount +'">'+value.forkscount +'</span></td><td>'+value.description +'</td></tr>');    
         // var x;
         if(value.forkscount == 'critical'){
             var y=value.forkscount.length;
            console.log(y);
            //  var n = $(y).;

         }

          });

           // $('#table').append(trHTML);
        } 

    });

$(document).ready( function () {

$('#example tbody tr td span.critical').closest('tr').addClass('critialrow');   
$('#example tbody tr td span.major').closest('tr').addClass('majorrow');
 // $('#example').DataTable();
   var tables = $('#example').DataTable({

   dom : '2<"#add">frtip',
    "language": {
    "paginate": {
      "previous": "<&nbsp;Previous",
      "next": "next&nbsp;>"
    }
  }

})
$('<label/>').text('Search Column:').appendTo('#add')
$select = $('<select/>').appendTo('#add')

$('<option/>').val('All').text('All').appendTo($select);
$('<option/>').val('0').text('name').appendTo($select);
$('<option/>').val('1').text('stargazerscount').appendTo($select);
$('<option/>').val('2').text('forkscount').appendTo($select);
$('<option/>').val('3').text('description').appendTo($select);
$('input[type="search"]').on( 'keyup change', function () {
  var searchValue = $(this).val();
  var columnSearch = $select.val();

  if(columnSearch == 'All'){
    tables.search(searchValue).draw();
  } else {
    tables.columns(columnSearch).search(searchValue).draw();
  }
 });  

$("div").delegate(".major-box", "click", function(){

    var majorValue = $(this).attr('id');

    if(majorValue== 'major'){
    tables.search(majorValue).draw();
    $("#example_filter input").addClass('white');

  }

});

$(".critical-box").bind("click", function(){

    var criticalssValue = $(this).attr('id');

    if(criticalssValue== 'critical'){
    tables.search(criticalssValue).draw();
  }

});
$("div").delegate(".All-box", "click", function(){

    var criticalssValue = $(this).attr('id');
    alert(criticalssValue);
    if(criticalssValue== 'test'){
    tables.search(criticalssValue).draw();
  }

});
}); 

members.json

[{
            "name": "mango",
            "stargazerscount": 526,
            "forkscount": "critical",
            "description": "fruits"
        },
        {
            "name": "brinjal",
            "stargazerscount": 526,
            "forkscount": "critical",
            "description": "vagetables"
        },
        {
            "name": "grapes",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "fruits"
        },
        {
            "name": "soap",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "groceries"
        },
        {
            "name": "dates",
            "stargazerscount": 526,
            "forkscount": "critical",
            "description": "dryfruits"
        },
        {
            "name": "mobiles",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "electronics"
        },
        {
            "name": "shirt",
            "stargazerscount": 526,
            "forkscount": "critical",
            "description": "clothes"
        },
        {
            "name": "dates",
            "stargazerscount": 526,
            "forkscount": "critical",
            "description": "dryfruits"
        },
        {
            "name": "mobiles",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "electronics"
        },
        {
            "name": "shirt",
            "stargazerscount": 526,
            "forkscount": "critical",
            "description": "clothes"
        },
        {
            "name": "shirt",
            "stargazerscount": 526,
            "forkscount": "critical",
            "description": "clothes"
        },
        {
            "name": "dates",
            "stargazerscount": 526,
            "forkscount": "critical",
            "description": "dryfruits"
        },
        {
            "name": "mobiles",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "electronics"
        },
        {
            "name": "shirt",
            "stargazerscount": 526,
            "forkscount": "critical",
            "description": "clothes"
        },
        {
            "name": "dates",
            "stargazerscount": 526,
            "forkscount": "critical",
            "description": "dryfruits"
        },
        {
            "name": "mobiles",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "electronics"
        },
         {
            "name": "mobiles",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "electronics"
        },
         {
            "name": "mobiles",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "electronics"
        },
         {
            "name": "mobiles",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "electronics"
        },
         {
            "name": "mobiles",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "electronics"
        },
         {
            "name": "mobiles",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "electronics"
        },
         {
            "name": "mobiles",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "electronics"
        },
         {
            "name": "mobiles",
            "stargazerscount": 526,
            "forkscount": "major",
            "description": "electronics"
        },
        {
            "name": "shirt",
            "stargazerscount": 526,
            "forkscount": "critical",
            "description": "clothes"
        }


    ]

1 个答案:

答案 0 :(得分:1)

创建一个全局var&#34; count&#34;并增加每个&#34;当forkscount是&#34; critical&#34;。

时循环
var count = 0;
...
$.ajax({
    url: "http://localhost/bootstrap-tablefilter/js/members.json", 
    type: "POST",    
    dataType:"json",   
    success: function (response) 
    {         
        $.each(response, function (key,value) {
            ...
            if(value.forkscount == 'critical')
                count++;
            ...
        });
    }
    ...
});

您也可以使用承诺在&#34;每个&#34;之后获得价值。结论

$.each(response, function (key,value) {
    ...
    if(value.forkscount == 'critical')
        count++;
    ...
}).promise().done(function(){ 
    alert("Total 'criticals': " + count); 
});