我粗略地寻找类似的问题,但无法找到解决方案。
我的问题是,我需要通过选择选项菜单更改img
和href
。如果我只需要改变其中一个,这不是问题......但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
之前删除根,这些东西就可以了,但是像这样,它什么也做不了。这里的任何伙伴都可以帮助我并获得我需要的东西吗?
提前致谢
答案 0 :(得分: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标记更新为:
<select onchange="selectChanged">
答案 1 :(得分:0)
getElementsById
- &gt; getElementById
+
而不是.
此外,请勿使用内联事件处理程序。创建单独的函数
更容易<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>