2016-11-24 100 views
0

如何通過選擇選項更改圖像的src?在IMG-SRC是一個PHP變量,一旦選擇的東西,我想它從另一個DIV通過選擇選項更新圖像的src

下拉

<select> 
<option value="<?php echo $aColorName; ?>">Color Name</option> 
<option value="<?php echo $anotherColorName; ?>">Color Name</option> 
</select> 

<img src="<?php echo $colorUrl.$aColorName ?>" /> 

我想要的圖像源更新每次更改選擇選項從選項中選擇新顏色

+5

添加src作爲選項的值,並把onchange = function(){document.querySelector('img')。src = this.value} – Lain

+0

@Lain介意闡述?有點新,thanx – atp

+1

爲什麼我們總是抱怨,當人們做出應該是評論的答案時,但我們從來沒有說過應該回答的評論? – Phiter

回答

3

和香草版...

var selectBox = document.getElementById('selectBox'); 
 
    var theImg = document.getElementById('theImg'); 
 
    
 
    selectBox.addEventListener('change', function() { 
 
     theImg.src = '/images/' + this.options[this.selectedIndex].value + '.jpg'; 
 
    }, false);
<select id="selectBox"> 
 
    <option value="blue">Blue</option> 
 
    <option value="red">Red</option> 
 
</select> 
 

 
<img id="theImg" src="/images/<?php echo $colorUrl.$aColorName ?>.jpg" /> 
 

 
<!-- 
 
The 'src' attribute in image below needs to point to the default image to fix your problem. So for example if your images path is: '/images/' and in your foreach loop the value of $colorUrl.$aColorName is: 'Yellow' then the above code will output thew following when the page initially loads: 
 

 
<img id="theImg" src="/images/Yellow.jpg" /> 
 
-->

+0

正是我在找的東西,謝謝.. btw默認和選定的選項後,頁面加載丟失,它不會更新它 – atp

+0

沒問題 - 你的意思是,當頁面第一次加載圖像被破壞?如果是的話,那麼有很多方法可以解決這個問題,但只需設置圖像的初始值src - Zinc

+0

我試過這樣做,它不會改變初始值 – atp

1

由於您已添加jQuery,因此我會使用事件處理程序向您展示不顯眼代碼的示例。

$(function() { 
 
    $("select").change(function() { 
 
    $("img").attr("src", "//placehold.it/250/" + this.value + "?text=" + $(this).find("option:selected").text()); 
 
    }); 
 
});
img {display: block; margin: 15px 0;}
<script src="https://code.jquery.com/jquery-2.2.4.js"></script> 
 
<select> 
 
    <option value=""></option> 
 
    <option value="0f0">Yellow</option> 
 
    <option value="00f">Blue</option> 
 
</select> 
 

 
<img src="//placehold.it/250?text=Select Colour" alt="" />

您也可以使用純JS,通過添加事件監聽器onchange事件<select>的做同樣的事情。

在這裏,我寫了一些自定義複雜的代碼來設置src屬性。在簡單的方法,你可以使用下面的設置所選擇的選項作爲圖像的源value

$("img").attr("src", this.value); 
+0

而不是placeholder.it,我可以將它更改爲PHP變量嗎? – atp

+0

@atp這就是我所說的。你可以從字面上有任何東西... –

+0

我也試過這個,它的工作,但我遇到了問題,我有多個引導模式,每個模態餵你的代碼一個src,它顯示它,但問題是,當我關閉一個模式並打開另一個,我找到以前的圖像..它不重置 – atp