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