Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php+;javascript从选择更改图像_Php_Javascript_Html - Fatal编程技术网

使用php+;javascript从选择更改图像

使用php+;javascript从选择更改图像,php,javascript,html,Php,Javascript,Html,基本上,我是这样做的:我已经阅读了数据库并获得了所有项目,每个项目都包括一个“名称”和一个“链接”。在页面上,我有一个图像、一个选择菜单和一个按钮;每个选择选项都显示一个项目名称(但不显示链接信息)。我想实现这一点:首先选择一个选项(不发生任何事情),然后单击按钮将图像src更改为所选项目的链接(在PHP变量中)。但是我很难将链接传递到javascript函数,因为它涉及PHP变量。代码如下所示: <script type="text/javascript"> function se

基本上,我是这样做的:我已经阅读了数据库并获得了所有项目,每个项目都包括一个“名称”和一个“链接”。在页面上,我有一个图像、一个选择菜单和一个按钮;每个选择选项都显示一个项目名称(但不显示链接信息)。我想实现这一点:首先选择一个选项(不发生任何事情),然后单击按钮将图像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>

功能选择项(一){
变量名称、链接;
/*
...
*/
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吗?您是否有理由不想将按钮添加到表单中?