【问题标题】:change between 3 different background color based on cell value but only if another call value is different than根据单元格值在 3 种不同的背景颜色之间更改,但前提是另一个调用值不同于
【发布时间】:2018-06-30 00:38:58
【问题描述】:

不久前,我得到了一些用于更改表格单元格中背景颜色的代码;最终的解决方案效果很好: change between 3 different background color based on cell value

现在我想为此添加另一个条件,请看这里以了解我的意思:无法发布链接:jsfiddle dot net/Bouncer/LeyqceLe/4/

在不丢失当前功能的情况下这是否可能?

【问题讨论】:

    标签: javascript php css


    【解决方案1】:

    这是我的朋友:jsFiddle

    获取avai的值:

    var diff = $('td.avai').html();
    

    然后检查avai单元格的值是否不是20,并跳过单元格着色:

    if(diff != 20) {    ...    }
    

    【讨论】:

      【解决方案2】:

      如果我理解正确,这就是你想要的?

      // JavaScript Document
      var cell = $('td.bg_status');
      // Get the td value
      var avai_value = $('.avai').text();
      
      cell.each(function() {
      
          var cell_value = $(this).html();
          // continue if td value is not 20
          if(avai_value!=20){
              if ((cell_value >= 0) && (cell_value <=19)) {
                  $(this).css({'background' : '#FF9900'});   
              } else if ((cell_value >= 20) && (cell_value <=39)) {
                  $(this).css({'background' : '#99cc00'});
              } else if (cell_value >= 40) {
                  $(this).css({'background' : '#99ccff'});
              }
          }
      });
      

      【讨论】:

      • 3 年后,我仍在 Joomla 上使用它!地点;放置在模板中的代码(自定义代码),效果很好!为了增加我如何使用这个脚本的灵活性,如果可以使用另一个条件在两组数值之间切换,那就太好了:脚本首先检查 是否包含“ying”;然后使用当前值(14、15、49 和 50),如果它包含“阳”,我们改为使用(7、8、59 和 60)。有人知道这是否可以做到吗?当前代码:linkRgds, Bouncer
      【解决方案3】:

      我之前忘了提到我的网站正在运行 Joomla! 3. 我刚刚得知 Joomla 暂时不允许在 jQuery 代码中使用 $ 符号。此外,带有 avai_value 的行导致了错误,必须像这样重写:

      // JavaScript Document
      if(jQuery('td.avai').length){
          var cell = jQuery('td.bg_status');
          var diff = jQuery('td.avai').html();
          cell.each(function() {
              var cell_value = jQuery(this).html();
              if(diff != 20) {    
                  if ((cell_value >= 0) && (cell_value <=19)) {
                      jQuery(this).css({'background' : '#FF9900'});   
                  } else if ((cell_value >= 20) && (cell_value <=39)) {
                      jQuery(this).css({'background' : '#99cc00'});
                  } else if (cell_value >= 40) {
                      jQuery(this).css({'background' : '#99ccff'});
                  }
              }
          });
      }
      

      【讨论】:

      • 我正在为 Joomla 3.8.6 编写自定义模块,我的 jquery 代码使用 $(selector)。只有在使用 $ 的脚本发生冲突时才会出现问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 2017-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多