2011-11-03 13 views
0

基本上,我这样做:我已经阅读数据库,并获得所有的项目,每个包括一个'名称'和'链接'。在页面上,我有一个图像,一个选择菜单和一个按钮;每个选择选项显示一个项目名称(但没有链接信息)。我想实现这个功能:首先选择一个选项(没有任何事情发生),然后单击按钮将图像src更改为所选项目的链接(在PHP变量中)。但我无法将链接传递给javascript函数,因为它涉及PHP变量。代码是这样的:使用php + javascript来改变图像从选择

<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> 

感谢您的帮助!

回答

0

我知道这是晚了,但我的解决办法是:记录姓名和联系在一起(用“|”分隔)中各选项属性‘值’。然后,不需要将PHP变量传递给JavaScript。

0

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

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

它是。但问题是,我只能在这里记录名称,而不是名称和链接。 – DrXCheng

+0

所以你想在选择不同的图像的名称并点击按钮后改变图像?你的按钮在哪里?你使用那个div吗?您是否有理由不想将该按钮添加到您的表单中? – sdo

相关问题