Php 需要动态控制页面的帮助吗

Php 需要动态控制页面的帮助吗,php,javascript,html,css,Php,Javascript,Html,Css,我正在寻找一个页面,其中用户将作出选择,例如:“你的电脑有多旧?”-“一年”、“两年”等,该页面将删除并添加“选项”(目前只需要提供信息的文本部分) 有没有办法做那样的事 我使用的技术是PHP,当然还有HTML和CSS来设计页面样式 提前谢谢 我想你在混合一些东西。据我所知,根据用户在下拉列表中选择的内容,您希望显示或隐藏页面的某些部分 PHP制作了“动态网页”,这是真的。但这样做的好处是,页面可以根据每个请求提供不同的内容。但是一旦提供了内容,它就在客户端呈现,不再由PHP处理 如果要在不重新

我正在寻找一个页面,其中用户将作出选择,例如:“你的电脑有多旧?”-“一年”、“两年”等,该页面将删除并添加“选项”(目前只需要提供信息的文本部分)

有没有办法做那样的事

我使用的技术是PHP,当然还有HTML和CSS来设计页面样式


提前谢谢

我想你在混合一些东西。据我所知,根据用户在下拉列表中选择的内容,您希望显示或隐藏页面的某些部分

PHP制作了“动态网页”,这是真的。但这样做的好处是,页面可以根据每个请求提供不同的内容。但是一旦提供了内容,它就在客户端呈现,不再由PHP处理

如果要在不重新加载整个页面的情况下更改内容,应使用javascript。

您也可以使用ajax服务新内容,但我认为您只需要将一些div的
display
属性设置为
none
或类似的内容。

PHP无法检测是否对页面进行了更改,因此您必须使用Javascript

如果您使用的是HTML select元素,并且希望动态创建内容,则该元素可能如下所示:
HTML

<select id="computerAge">
    <option>2 years</option>
    <option>3 years</option>
</select>

<div id="dynamicContent">
</div>
<select id="computerAge">
    <option>2_years</option>
    <option>3_years</option>
</select>

<div id="content">
    <div id="2_years" style="display: none">
        <p>Content for 2 year old computer</p>
    </div>  

    <div id="3_years" style="display: none">
        <p>Content for 3 year old computer</p>
    </div>
</div>

两年
三年
Javascript

var computerAge = document.getElementById('computerAge');
var dynamicContent = document.getElementById('dynamicContent');

computerAge.onchange = function()
{
    // Get a list of the current dynamic content
    var contents = document.getElementById('content').document.getElementsByTagname('p');

    // Remove current dynamic content
    for(i = 0; i < contents.length; i++)
    {
        dynamicContent.removeChild(contents[i]);
    }

    // Create new dynamic content
    var dynamicP = document.createElement('p');

    if(computerAge.value == '2 years')
    {
        dynamicP.innerHTML = 'Content for 2 year old computer';
        dynamicContent.appendChild(dynamicP);
    }
    elseif(computerAge.value == '3 years')
    {
        dynamicP.innerHTML = 'Content for 3 year old computer';
        dyanmicContent.appendChild(dynamicP);
    }
}
var computerAge=document.getElementById('computerAge');
var dynamicContent=document.getElementById('dynamicContent');
computerAge.onchange=函数()
{
//获取当前动态内容的列表
var contents=document.getElementById('content').document.getElementsByTagname('p');
//删除当前动态内容
对于(i=0;i
或者,如果您不是动态创建元素:

HTML

<select id="computerAge">
    <option>2 years</option>
    <option>3 years</option>
</select>

<div id="dynamicContent">
</div>
<select id="computerAge">
    <option>2_years</option>
    <option>3_years</option>
</select>

<div id="content">
    <div id="2_years" style="display: none">
        <p>Content for 2 year old computer</p>
    </div>  

    <div id="3_years" style="display: none">
        <p>Content for 3 year old computer</p>
    </div>
</div>

2年
3年
2岁电脑的内容

3年电脑的内容

Javascript

function init()
{
    // Get the select element
    var select = document.getElementById('computerAge');

    select.onchange = function()
    {
        // Get the elements which could be the dynamic content
        var content = document.getElementById('content')
        var contents = content.getElementsByTagName('div');

        // Iterate over contents; make selected visible and hide others
        for(i = 0; i < contents.length; i++)
        {
            if(contents[i].id == select.value)
            {
                contents[i].style.display = 'block';
            }
            else
            {
                contents[i].style.display = 'none';
            }
        }
    }
}

window.onload = init;
函数init()
{
//获取select元素
var select=document.getElementById('computerAge');
select.onchange=function()
{
//获取可能是动态内容的元素
var content=document.getElementById('content')
var contents=content.getElementsByTagName('div');
//迭代内容;使选定内容可见并隐藏其他内容
对于(i=0;i
不太清楚您想做什么,但我猜您想在select中根据所选选项显示内容。你们可以用javascript来实现这一点。哈哈,对不起,伙计们,我忘了我在标题中写了PHP。我真正的意思是,我主要使用PHP作为网站的主要技术,我知道PHP更多的是用来抓取各个部分,然后将它们显示为静态页面。我试图尽可能避免使用java脚本,但这不会发生,是吗?哈哈,感谢您的快速响应和代码!有了您放在那里的非动态选项,是否可以加倍使用,让两个或多个选择器删除/显示不同的内容?当然可以。您可以复制代码,只需更改select元素的ID(与第一个Javascript变量相同。也可以更改内容变量。我尝试了非动态代码,但它没有做任何事情。?我只是将它们放在同一个文件中(显然是将脚本放在第一位并放在适当的标记中)有什么建议吗?很抱歉,里面有一个错误。我还将代码包装在一个init函数中,该函数将在页面加载时启动。编辑的代码在上面,现在应该可以工作了!