0

2 ページあります。「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>

page2.php では、

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

chgvalues(c) では、

function chgvalues(c)
{
    document.getElementById("mySelect").selected =true;
}

しかし、これは私にはうまくいきません。私がやりたいことは、ユーザーがページ 1 のリンクをクリックすると、ページ 2 に選択値が自動的に設定されることです。

このchgvalues 関数は間違っていると思います。

4

5 に答える 5

5

試す

function chgvalues(c)
{
    document.getElementById("mySelect").value = c;
}

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>';
?>

または、window.onloadで呼び出します。例:

<script>
    window.onload = function(){
        chgvalues("<?php echo $c; ?>");
    };
</script>
于 2012-11-19T06:56:18.627 に答える
0

page2.phpを次のように変更します。

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

オプションがDOMに含まれる前にスクリプトが実行されており、オプションにIDがないため、一致しませんgetElementById

于 2012-11-19T06:55:44.363 に答える
0

クエリ文字列の値をvalメソッドに渡すことができます。

$("#mySelect").val("thevalue")

optionsタグの値がvalメソッドの値と一致することを確認してください。

于 2012-11-19T06:57:31.170 に答える
0

試す

page2.php で

<?php
$c=$_GET['c'];
echo '<script>'
. 'chgvalues("'.$c.'");'
. '</script>';
?>
<select id="mySelect">
<option value='Category1'>Category1</option>
<option value='Category3'>Category3</option>
<option value='Category2'>Category2</option>
</select>

そして、chgvalues(c)

function chgvalues(c)
 {
    document.getElementById("mySelect").value = true;
 }
于 2012-11-19T06:58:29.743 に答える
0

問題は、「selected」属性が<option>タグではなくタグに適用されること<select>です。実際、page2.php を次のように変更するだけです。

<?php $c = $_GET[c];?>
<select>
<option <?php if(c == "1"){echo "selected";}?>>Category1</option>
<option <?php if(c == "3"){echo "selected";}?>>Category3</option>
<option <?php if(c == "2"){echo "selected";}?>>Category2</option>
</select>
于 2012-11-19T07:15:36.440 に答える