将php变量传递给javascript onclick函数

时间:2015-07-25 20:25:28

标签: javascript php jquery

无法将php变量传递给javascript函数。

    <p id = "demo"><?php echo $color; ?></p><br>
    <?php while($rows = mysqli_fetch_array($result)) {
         $color = $rows["clr"]; 
    ?>      
    <ul id="menu">
        <li>
            <h onclick="myFunction('<?php echo $color; ?>');">
               <input type ="radio"  name="radio" id ="php" value="<?php echo $color;?>">
               <?php echo $color; ?>
               <!--//<label for = "php" type:<?php echo $rpproduct_typ_color; ?>></label>-->
            </h>
       </li>
    </ul>
    <script type="text/javascript" >
       function myFunction(a) {
          document.getElementById('demo').innerHTML = a;
       }
    </script>
   <?php } ?>

但这种方式可行: -

<ul id="menu">
    <li>
         <input type ="radio" name="radio" id ="php" value="<?php echo $color; ?>" onClick="document.getElementById('demo').innerHTML=this.value">         <?php echo $color; ?>
         <!--//<label for = "php" type:<?php echo $color; ?>  ></label>-->
    </li>
</ul>

但我希望将多个值传递给onClick函数,我希望第一个音调能够正常工作

2 个答案:

答案 0 :(得分:0)

你还没有关闭该行的大括号:

<?php while($rows = mysqli_fetch_array($result))
{

元素不存在,因此我把它作为一个段落。

<p id="demo">EMPTY</p>
<br />
<ul id="menu">
    <?php
    $colours = array( '#FF0000', '#00FF00', '#0000FF' );
    foreach( $colours AS $colour ) {
    ?><li>
        <p onClick="changeColour('<?php echo $colour; ?>')">
            <input type ="radio"  name="radio" value="<?php echo $colour; ?>">
            <?php echo $colour; ?> 
        </p>
    </li>
    <?PHP } ?>
</ul>
<script type="text/javascript" >
function changeColour( a ) {
    document.getElementById('demo').innerHTML = a;
}
</script>

经过测试和工作

答案 1 :(得分:0)

您是否错误地将h误认为标题为h1 .. h6?由于HTML中没有h标记,因此至少没有我知道的标记。不过,我建议使用块级元素,例如divp

<li>
  <p onclick="myFunction('<?php echo $color; ?>');">
    <input type ="radio"  name="radio" id ="php" value="<?php echo $color;?>">
    <?php echo $color; ?>
  </p>
</li>

这会给我一个这样的输出,在Opera中可以正常工作:

<li>
    <p onclick="myFunction('red');" style="background-color: red;">
        <input type ="radio"  name="radio" id ="php" value="red"> red
    </p>
</li>
<li>
    <p onclick="myFunction('blue');" style="background-color: blue;">
        <input type ="radio"  name="radio" id ="php" value="blue"> blue
    </p>
</li>