0

我在页面上有 3 个下拉选择来帮助创建动态链接。

更改一个会在选择中加载带有 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">

谢谢

4

1 回答 1

3
var imgconval, vidconval;

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

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

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

于 2013-09-27T14:49:02.590 回答