2011-11-03 3 views
0

기본적으로, 나는 이것을하고있다 : 나는 이미 데이터베이스를 읽고 모든 항목을 얻었으며, 각각은 '이름'과 '링크'를 포함한다. 페이지에는 이미지, 선택 메뉴 및 버튼이 있습니다. 각 선택 옵션은 항목 이름을 표시하지만 링크 정보는 표시되지 않습니다. 이를 구현하려면 먼저 옵션을 선택하고 (아무 일도 일어나지 않음) 이미지 src를 선택한 항목의 링크 (PHP 변수)로 변경합니다. 하지만 PHP 변수가 포함되어 있기 때문에 자바 스크립트 함수에 링크를 전달하는 데 문제가 있습니다. 코드는 다음과 같습니다.선택을 사용하여 이미지를 변경하려면 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> 

감사합니다.

답변

0

을 나는이 말을 알고 있지만, 내 솔루션은 다음과 같습니다 이름을 기록하고 (로 구분 된 "|") 함께 연결하는 각 옵션의 속성 "값"에. 그렇다면 PHP 변수를 JavaScript에 전달할 필요가 없습니다.

0

foreach 루프가 실제로 반복되고 있습니까? 시도 :

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

입니다. 하지만 문제는 이름과 링크가 아닌 이름 만 기록 할 수 있다는 것입니다. – DrXCheng

+0

다른 이미지의 이름을 선택하고 버튼을 클릭 한 후 이미지가 변경되기를 원하십니까? 버튼은 어디에 있습니까? 그 사업부를 사용하고 있습니까? 대신 버튼을 양식에 추가하지 않으려는 이유가 있습니까? – sdo

관련 문제