如何使用JavaScript更改select标签的值?

0 html javascript php html-select

我有两页."page1.php""page2.php"

在page1.php中,

<a href="page2.php?c=Category1">Category1</a>
<a href="page2.php?c=Category2">Category2</a>
<a href="page2.php?c=Category3">Category3</a>
Run Code Online (Sandbox Code Playgroud)

在page2.php中,

<?php
    $c=$_GET['c'];
    echo '<script>'
    , 'chgvalues("'.$c.'");'
    , '</script>';
?>
<select id="mySelect">
    <option>Category1</option>
    <option>Category3</option>
    <option>Category2</option>
</select>
Run Code Online (Sandbox Code Playgroud)

在chgvalues(c)中,

function chgvalues(c)
{
    document.getElementById("mySelect").selected =true;
}
Run Code Online (Sandbox Code Playgroud)

但这不适合我.我想要做的是,当用户点击第1页上的链接时,页面2会自动设置选择值.

我认为我在这个chgvalues 函数中错了.

Mus*_*usa 5

尝试

function chgvalues(c)
{
    document.getElementById("mySelect").value = c;
}
Run Code Online (Sandbox Code Playgroud)

并且呼叫chgvalues之后mySelect是dom的一部分.

要完成此操作,您只需在标记chgvalues后调用mySelect,例如

<select id="mySelect">
<option>Category1</option>
<option>Category3</option>
<option>Category2</option>
</select>
<?php
$c=$_GET['c'];// sanitize etc
echo '<script>'
, 'chgvalues("'.$c.'");'
, '</script>';
?>
Run Code Online (Sandbox Code Playgroud)

或者在window.onload中调用它,例如

<script>
    window.onload = function(){
        chgvalues("<?php echo $c; ?>");
    };
</script>
Run Code Online (Sandbox Code Playgroud)