2011-11-03 52 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