使用php+;javascript从选择更改图像
基本上,我是这样做的:我已经阅读了数据库并获得了所有项目,每个项目都包括一个“名称”和一个“链接”。在页面上,我有一个图像、一个选择菜单和一个按钮;每个选择选项都显示一个项目名称(但不显示链接信息)。我想实现这一点:首先选择一个选项(不发生任何事情),然后单击按钮将图像src更改为所选项目的链接(在PHP变量中)。但是我很难将链接传递到javascript函数,因为它涉及PHP变量。代码如下所示:使用php+;javascript从选择更改图像,php,javascript,html,Php,Javascript,Html,基本上,我是这样做的:我已经阅读了数据库并获得了所有项目,每个项目都包括一个“名称”和一个“链接”。在页面上,我有一个图像、一个选择菜单和一个按钮;每个选择选项都显示一个项目名称(但不显示链接信息)。我想实现这一点:首先选择一个选项(不发生任何事情),然后单击按钮将图像src更改为所选项目的链接(在PHP变量中)。但是我很难将链接传递到javascript函数,因为它涉及PHP变量。代码如下所示: <script type="text/javascript"> function se
<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("menu")[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>
功能选择项(一){
变量名称、链接;
/*
...
*/
document.getElementById(“名称”).innerHTML=name;
document.getElementById(“pic”).src=link;
}
...
选择一个
谢谢你的帮助 foreach循环实际上是循环的吗?尝试:
<?php
$i = 0;
foreach ($items as $item) { ?>
<option value="<? echo $i ?>"><? echo $item['name'] ?></option>
<? $i++; }
?>
我知道这已经晚了,但我的解决方案是:在每个选项的属性“value”中记录名称并链接在一起(以“|”分隔)。这样就不需要将PHP变量传递给JavaScript。确实如此。但问题是,我只能在这里记录名称,而不能同时记录名称和链接。因此,您希望在选择其他图像的名称并单击按钮后更改图像吗?你的按钮在哪里?你在用那个div吗?您是否有理由不想将按钮添加到表单中?