【问题标题】:bootstrap-table max(min) value on the column列上的引导表最大值(最小值)值
【发布时间】:2017-10-14 04:00:56
【问题描述】:

在引导表中,我该怎么做才能使项目价格列中的最大(最小值)值可以改变它的颜色

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet"/>
<table id="table" data-toggle="table">
   <thead>
            <tr>
                <th data-field="id" data-sortable="true">Item ID</th>
                <th data-field="name" data-sortable="true">Item Name</th>
                <th data-field="price" data-sortable="true">Item Price</th>
            </tr>
    </thead>
     <tbody>
        <tr><td>3</td><td>first</td> <td>5.4</td></tr>
        <tr><td>1</td><td>second</td><td>7.8</td></tr>
        <tr><td>2</td><td>third</td><td>2.1</td></tr>
        <tr><td>4</td><td>thourth</td><td>7.8</td></tr>
    </tbody>
</table>

【问题讨论】:

  • 您能详细说明一下吗?你想对表格列做什么?

标签: twitter-bootstrap html-table max min bootstrap-table


【解决方案1】:

你可以用 Javascript 来做:

op=0;
var max = 0;
$('.price').each(function(i, obj) {
     $this = parseFloat( $(this).text() );
      if ($this > max) {
         max = $this;
         op = i;
                       }
 });

var all = document.getElementsByClassName('price');
 all[op].style.color = 'red';

你可以编辑你的 html :

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet"/>
<table id="table" data-toggle="table">
   <thead>
            <tr>
                <th data-field="id" data-sortable="true">Item ID</th>
                <th data-field="name" data-sortable="true">Item Name</th>
                <th data-field="price" data-sortable="true">Item Price</th>
            </tr>
    </thead>
     <tbody>
        <tr><td>3</td><td>first</td> <td class="price">5.4</td></tr>
        <tr><td>1</td><td>second</td><td class="price">10.2</td></tr>
        <tr><td>2</td><td>third</td><td class="price">12.3</td></tr>
        <tr><td>4</td><td>thourth</td><td class="price">7.8</td></tr>
    </tbody>
</table>

Demo

【讨论】:

  • 一旦我对列进行排序,颜色就会消失,并且当有两项具有最大值时,它只会更改一项的颜色。
【解决方案2】:

您可以使用post-body.bs.table event 并在准备好文档和进行正文后事件时:

  • 对表格进行排序
  • 按最大值或最小值过滤
  • 设置你喜欢的颜色

function styleMaxMin(isMax) {
    isMax = isMax == undefined ? true : isMax;
    var sortedTbl =
           $('#table tbody td:last-child').sort(isMax ?
                   (a, b) => {return +b.textContent - +a.textContent} :
                   (a, b) => {return +a.textContent - +b.textContent});
    sortedTbl.filter(function (idx, ele) {
        var currVal = +ele.textContent;
        return currVal == +sortedTbl.eq(0).text();
    }).css('color', 'red');
}

$(function () {
    styleMaxMin();
    $('#table').on('post-body.bs.table', function (e, data) {
        styleMaxMin();
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.js"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.1/bootstrap-table.min.css" rel="stylesheet"/>


<table id="table" data-toggle="table">
    <thead>
    <tr>
        <th data-field="id" data-sortable="true">Item ID</th>
        <th data-field="name" data-sortable="true">Item Name</th>
        <th data-field="price" data-sortable="true">Item Price</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>3</td>
        <td>first</td>
        <td>5.4</td>
    </tr>
    <tr>
        <td>1</td>
        <td>second</td>
        <td>7.8</td>
    </tr>
    <tr>
        <td>2</td>
        <td>third</td>
        <td>2.1</td>
    </tr>
    <tr>
        <td>4</td>
        <td>thourth</td>
        <td>7.8</td>
    </tr>
    </tbody>
</table>

【讨论】:

  • 尊敬的先生,非常感谢您的帮助。 1. 此代码在 Internet Explorer 上显示错误。 2. 如果我有几列,我希望最大值显示在所有列中,而不仅仅是在其中一个列中,您能帮我解决这个问题吗?
猜你喜欢
  • 2013-12-27
  • 1970-01-01
  • 2018-03-05
  • 2023-03-29
  • 1970-01-01
  • 2016-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多