使用php + javascript从select中更改图像

时间:2011-11-03 22:14:57

标签: php javascript html

基本上,我这样做:我已经阅读了数据库并获得了所有项目,每个项目都包含一个“名称”和一个“链接”。在页面上,我有一个图像,一个选择菜单和一个按钮;每个选择选项显示一个项目名称(但没有链接信息)。我想实现这个:首先选择一个选项(没有任何反应),然后单击按钮将图像src更改为所选项目的链接(在PHP变量中)。但我很难将链接传递给javascript函数,因为它涉及PHP变量。代码是这样的:

<script type="text/javascript">
function selectItem(i) {
var name, link;
/*
...
*/
document.getElementById("name").innerHTML = name;
document.getElementById("pic").src = link;
}
</script>
...
<body>
<img id="pic" src="default.png">
<div id="name"></div>
<div onclick="location.href='javascript:selectItem(document.
    getElementsByName(&quot;menu&quot;)[0].value)';"></div>
<select name="menu">
    <option value="">select one</option>
    <?php
    $i = 0;
    foreach ($items as $item):
        echo ("<option value=\"" . $i . "\">" . $item['name'] . "</option>");
        $i++;
    endforeach;
    ?>
</select>
</body>

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

foreach循环实际上是循环的吗?尝试:

 <?php
$i = 0;
foreach ($items as $item) { ?>
    <option value="<? echo $i ?>"><? echo $item['name'] ?></option>
<?  $i++; }
?>

答案 1 :(得分:0)

我知道这已经很晚了,但我的解决方案是:在每个选项的属性“value”中记录名称并链接在一起(用“|”分隔)。然后就不需要将PHP变量传递给JavaScript。