在这里遇到一些麻烦。
设置:
select
对象,可选择“其他”
用户选择“其他”。
当选择此特定值时,脚本会运行,并动态地将class
input
对象从“隐藏”更改为“显示”(隐藏且可见css display
)。< / p>
<p>Select a Grade:</p>
<select name="grade" id="grade" onchange="changeCssClass('otherGrade')">
<option value="No Specified Grade">Please Select</option>
<option value="201">201</option>
...
<option value="Secondary">Secondary</option>
<option value="otherGrade">Other</option>
</select>
<p>If "Other":</p>
<?php
$otherGrade = $_POST['grade'];
if($otherGrade = "otherGrade")
{
echo("<script language='javascript' type='text/javascript'>
function changeCssClass(objInputID)
{
if(document.getElementById(objInputID).className=='hide')
{
document.getElementById(objInputID).className = 'show';
}
else
{
document.getElementById(objInputID).className = 'hide';
}
}
</script>");
}
else
{
echo ("");
}
?>
<input type="text" name="otherGrade" id="otherGrade" class="hide" />
我应该从onchange
对象中删除select
事件吗?如果是这样,我对如何执行脚本感到茫然。
非常感谢任何解决方案。
答案 0 :(得分:1)
脚本应始终包含在您的页面中,因为您希望在下拉列表中进行更改时运行该脚本。
<script language='javascript' type='text/javascript'>
function changeCssClass(objInputID, currentVal, correctVal)
{
if(correctVal == currentVal)
{
document.getElementById(objInputID).className = 'show';
}
else
{
document.getElementById(objInputID).className = 'hide';
}
}
</script>
<p>Select a Grade:</p>
<select name="grade" id="grade" onchange="changeCssClass('otherGrade', this.value, 'otherGrade')">
<option value="No Specified Grade">Please Select</option>
<option value="201">201</option>
...
<option value="Secondary">Secondary</option>
<option value="otherGrade">Other</option>
</select>
<p>If "Other":</p>
<input type="text" name="otherGrade" id="otherGrade" class="hide" />
答案 1 :(得分:0)
你为什么把它放在后期活动中?您可以将此作为标准javascript呈现为页面的一部分。
答案 2 :(得分:0)
在帖子上,页面会刷新,广告在重新加载时您没有保存选择框的选定值。
发布后,选择框未保持选中状态。你必须这样做。
&gt;其他
随着选项值的改变,显示隐藏也消失了。 修复
如果不需要提交页面。使用这个
检查选择
的演示