获取更改下拉列表的值选择然后加载新页面

时间:2013-09-27 14:46:03

标签: javascript

我在页面上有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;}

有人可以帮助我,以便在用户更改默认值后imgconvalvidconval显示正确的值,并在<select name="park">更改时页面仍然加载动态链接。

由于

1 个答案:

答案 0 :(得分:3)

var imgconval, vidconval;

document.getElementById('imgcon').onchange = function() {
    imgconval = this.value;
}

document.getElementById('vidcon').onchange = function() {
    vidconval = this.value;
}

您必须在函数之外定义变量,以便可以在其他地方访问它。