2015-11-18 22 views
-1

我大致尋找類似的問題,但找不到解決方案。Id =「root」.this.value

我的問題是,我需要通過選擇選項菜單更改imghref。這不是一個問題,如果我不得不改變其中一個......但a href和src有不同的根,我不知道我怎麼能給他們的價值是相同的,但另外一個不同的根... 也許它更容易顯示代碼即可獲得我的問題......

<select onchange="document.getElementsById('stammimg').src = 'img/stamm/thumb/'.this.value;document.getElementsById('stammref').href = 'img/stamm/'.this.value;"> 

<option value="img1.png">Stammbaum 1</option> 
<option value="img2.png">Stammbaum 2</option> 
</select> 

<a id="stammref" href=""><img id="stammimg" src="" /> </a> ` 

嗯......那什麼,我必須得到儘快工作... 我刪除一個getElement之前刪除根this.value東西的作品,但這樣它不會做任何事情。這裏的任何好友都可以幫助我,並獲得我需要的東西?

在此先感謝

+1

' 'IMG /斯塔姆/拇指/' THIS.VALUE;'這是什麼? – Ramanlfc

+0

也許我誤用了這裏的東西,因爲我認爲它可能像在php中工作... 只是想說那裏'img/stamm/thumb /'是根img是圖片的值名稱是相同的 – AkumuDesu

+0

JavaScript的字符串連接運算符是'+',而不是'''。 –

回答

0
  1. getElementsByIdgetElementById
  2. 你需要使用+.
  3. 另外,不要使用內聯事件處理程序。這是更容易地創建一個單獨的函數

    <script> 
    var OnChange = function(obj) { 
        document.getElementById('stammimg').src ='img/stamm/thumb/'+obj.value; 
        document.getElementById('stammref').href = 'img/stamm/'+obj.value; 
    }; 
    </script> 
    
    <select onchange="OnChange(this)"> 
        <option value="img1.png">Stammbaum 1</option> 
        <option value="img2.png">Stammbaum 2</option> 
    </select> 
    
    <a id="stammref" href=""><img id="stammimg" src="" /> </a> 
    
+0

非常感謝。我只是coudnt找到正確的問題,找到運營商連接我的價值與根...我只是有點認爲它是一樣的在PHP(我barly知道的基本知識)。你能解釋我爲什麼你使用'+ obj.value'而不是'this.value'嗎? – AkumuDesu

0

您需要使用+來連接在JavaScript字符串,而不是.從PHP。

<select onchange="document.getElementsById('stammimg').src = 'img/stamm/thumb/' + this.value;document.getElementsById('stammref').href = 'img/stamm/' + this.value;"> 

這將是最好的了拆分此代碼到一個單獨的功能,以及:

添加到您的網頁:

<script> 
    function selectChanged() { 
     document.getElementsById('stammimg').src = 'img/stamm/thumb/' + this.value; 
     document.getElementsById('stammref').href = 'img/stamm/' + this.value; 
    } 
</script> 

和更新選擇標籤爲:

<select onchange="selectChanged"> 
相關問題