刷新页面时,表格单元格突出显示的行的颜色正在改变

时间:2015-12-14 06:55:34

标签: php jquery html mysql

我有一个表,当选择了一个选项时,它会改变表格单元格行的颜色。但是当我刷新页面时,颜色会变回默认颜色。如何修复表格中突出显示的颜色?

这是我的php和mysql表的代码:

<?php

    while ($record = mysqli_fetch_array($result)) {

      echo"<tr>";
      echo"<td style='text-align : center;'>" . $record['id'] . "</td>";

      echo '<select name="select" onchange="myJSFunction(this)">
                  <option></option>
                  <option>Approved</option>
                  <option>Pending</option>
                  <option>Disapproved</option>
            </select>';
      echo "</td>";
      echo "</tr>";
    }
  }

  echo "</ul>";
  echo '<a class="btn btn-lg btn-success btn-block tp" href="view.php" style="margin-left: 740px; bottom: -1px; position: relative;" onclick="history.back();">Back</a>';

?>  

这是我的jQuery代码,我用它来突出显示表格单元格的行:

<script type="text/javascript">

  function myJSFunction(element) {
    var color = ['none', 'green', 'yellow', 'red'];
    $('select').change(function() {
      $(this).parents('tr').css('background', color[$(':selected', this).index()]);
    })
  }

</script>

2 个答案:

答案 0 :(得分:1)

您可以使用Cookie,您可以获取Cookie的所有相关功能here

使用

在页面顶部设置空白Cookie
document.cookie="saveselect=";

每次用户更改任何选择时,请在您的javascript函数中更新Cookie,例如记录[&#39; id&#39;] |&#39;所选值&#39;,记录[&#39; id&#39; ] |&#39;选择值&#39;,.....

在更新cookie时,您需要注意cookie被覆盖且未更新意味着获取现有值,将新的值附加到cookie并将新数据写入cookie。

现在,在while循环中加载页面时,您可以使用Cookie的值将其爆炸为&#39; |&#39;并将其转换为数组。

现在,在每个选择中搜索创建的数组,如果其值保存在cookie中,如果是,则使用选择的&#39;选择选项。这样,您选择的值将出​​现在选择框中。

您需要将以下脚本添加到代码中。它将检查所有创建的选择,然后根据所选值更改每个选择颜色。

<script type="text/javascript">
$(document).ready(function(){
     var color = ['none', 'green', 'yellow', 'red'];
     $('select').each(function(){
        $(this).parents('tr').css('background', color[$(':selected', this).index()]);
     })
});
</script>

我给了你完整的逻辑并创建了jquery来为每个选择框创建颜色。

答案 1 :(得分:0)

您还可以在用户更改颜色时创建会话,或者也可以在数据库中存储颜色值