无法将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函数,我希望第一个音调能够正常工作
答案 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
标记,因此至少没有我知道的标记。不过,我建议使用块级元素,例如div
或p
。
<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>