0

私はこのコードを持っています:

page.php:

<?php

include ('include.php');

echo = '
<li>
    <select name="selector" class="letter">
        <option value="a" selected="selected">$a</option>
        <option value="b">$b</option>
    </select>
</li>
';

echo = '
<li>
    <select name="a-numbers" class="number a-numbers">
        <option value="$a[1][1]">$a[1][2]</option>
        <option value="$a[2][1]">$a[2][2]</option>
    </select>
    <select name="b-numbers" class="number b-numbers">
        <option value="$b[1][1]">$b[1][2]</option>
        <option value="$b[2][1]">$b[2][2]</option>
    </select>
</li>
';

?>

&

include.php:

<?php

$array = array(
    "a" => array(
        "1" => array("aaa1-value","aaa1-text"),     
            "2" => array("aaa2-value","aaa2-text")      
        ),  
        "b" => array(
            "1" => array("bbb1-value","bbb1-text"),     
            "2" => array("bbb2-value","bbb2-text")      
        )   
    )
);

?>

.letter>aが選択されている場合、.a-numbersリストはエコー印刷されます。が選択されている場合.letter>bは、.a-numbersリストを削除し.b-numbersて印刷する必要があります。

もちろん、このシナリオは JS と CSS で作成できますdisplay:none。ただし、display:noneここでは使用できません。そのため、DOM から要素を削除する必要がありますが、できません。

ご清聴ありがとうございました。

4

2 に答える 2

4

PHPは、これを単独で動的に実行することはできません。AJAXを使用する必要があります。これにより、実際にリクエスト/レスポンスがサーバーに返送され、divにデータが入力されます。

または、最初の要求/応答ですべての可能なコンテンツをロードし、javascriptを使用して問題のdivを動的に表示/非表示にする必要があります。

質問でdisplay:noneを使用できないと述べているので、要素を設定するためにWebサーバーに非同期コールバックを行うことを検討することをお勧めします。

于 2012-07-09T15:28:42.573 に答える
0

DOM から何かを削除したい場合。jQueryはそれを使用してそれを行うことができます

 $.remove("[selector]")

次に、それらを追加する必要がある場合は、jquery prependまたはappendを使用できます。そのような:

$("[selector]").append("<!--escaped HTML-->");
于 2012-07-09T15:24:04.490 に答える