PHP。如何动态更改HTML选择操作的页面内容?

时间:2012-07-09 15:21:58

标签: php

我有这段代码:

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中删除元素,但我不能。

感谢您的关注。

2 个答案:

答案 0 :(得分:4)

PHP无法自行动态执行任何操作。您将需要使用AJAX,它实际上会将请求/响应发送回服务器以填充div。

或者,您需要使用初始请求/响应加载所有可能的内容,并使用javascript动态显示/隐藏相关div。

你在问题​​中提到你不能使用display:none,所以你可能想要调查一个异步回调web服务器来填充元素。

答案 1 :(得分:0)

如果您只想从DOM中删除某些内容。 jQuery可以使用

来完成
 $.remove("[selector]")

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

$("[selector]").append("<!--escaped HTML-->");