将变量从php循环传递给javascript函数作为参数

时间:2015-11-27 12:52:09

标签: javascript php

工作应该很容易,但我想念一些...... 我从数据库中读取一个变量,我需要一个div来根据变量值改变颜色。

我也很欣赏让脚本更短的想法。 感谢

 <script language="Javascript" type="text/javascript">

    function setColor(status){
       var a= status;
       if (a == "tag1") {
       document.getElementById("status").style.backgroundColor = "red"; 
                       } ; 
       elseif (a == "tag2") {
       document.getElementById("status").style.backgroundColor = "black"; 
                       } ; 
   }

</script>

...

<?php
$general=mysql_query("SELECT * FROM general ORDER BY `id` DESC LIMIT 0, 200;");
$n=mysql_numrows($general);
$i=0;
while($i<$n)    {
$status=mysql_result($general,$i,"status");
echo '<div id="row">
<div class="celln" id="status" name="status">'.$status.'</div>
  <script type="text/javascript">
     setColor("<?php echo $status; ?>");
  </script>
</div>';

$i++;
};
?>

2 个答案:

答案 0 :(得分:1)

为什么不

<style>
.tag1 { background-color:red }
.tag2 { background-color:black }
</style>
...
echo '<div class="celln '.$status.'" id="status">'.$status.'</div>';

Divs没有名称属性

答案 1 :(得分:1)

如@Saty所述,if (target.length) { $('html,body').animate({ scrollTop: target.offset().top }, 1000); location.hash = target; return false; } 函数套件现已弃用,因此mysqli或PDO都是前进的方法。

除非特别需要使用Javascript根据db中的某些值设置每个div的背景颜色为什么不使用css结合PHP?

mysql_*