0

動的リンクを作成するために、ページに 3 つのドロップダウン選択があります。

1 つを変更すると、select の onchange イベントで新しいページが読み込まれます。

<select name="park" onChange="getdata(this.options[this.selectedIndex].value)">

他の 2 つのセレクターは、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>';
} ?>

もう1つはまったく同じですが、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 に答える