我在页面上有3个下拉选项以帮助建立动态链接。
更改一个用select:
中的onchange事件加载新页面<select name="park" onChange="getdata(this.options[this.selectedIndex].value)">
另外两个选择器是选择1到10之间的数字:
Image Count:<select id="imgcon">
<option value="4">4</option>
<?php
for($z = 0; $z <= 10; $z++ )
{
print '<option value="'.$z.'">'.$z.'</option>';
} ?>
另一个完全相同,但ID为"vidcon"
我的问题是我无法在正在创建的动态链接中获取要更新的值。如果用户为img / vidcon选择7和2,则链接仍将使用默认的4和4。
那是在使用
var imgcon = document.getElementById('imgcon');
var imgconval = imgcon.value;
var vidcon = document.getElementById('vidcon');
var vidconval = vidcon.value;
在另一个stackoverflow问题的帮助下,我尝试了这个:
document.getElementById('imgcon').onchange = function() {
var imgconval = this.value;
}
document.getElementById('vidcon').onchange = function() {
var vidconval = this.value;
}
但是这会停止新页面加载,并且必须干扰生成链接的这一行
function getdata(id){window.location = "index.php?id="+id+"&img="+imgconval+"&vid="+vidconval;}
有人可以帮助我,以便在用户更改默认值后imgconval
和vidconval
显示正确的值,并在<select name="park">
更改时页面仍然加载动态链接。
由于
答案 0 :(得分:3)
var imgconval, vidconval;
document.getElementById('imgcon').onchange = function() {
imgconval = this.value;
}
document.getElementById('vidcon').onchange = function() {
vidconval = this.value;
}
您必须在函数之外定义变量,以便可以在其他地方访问它。