0

我有这个代码:

页面.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>
';

?>

&

包括.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,所以你可能想研究一个异步回调网络服务器来填充元素。

于 2012-07-09T15:28:42.573 回答
0

如果您只想从 DOM 中删除某些内容。jQuery 可以通过使用来做到这一点

 $.remove("[selector]")

然后,如果您需要添加它们,您可以使用 jquery prependappend。如:

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