用javascript中的文本菜单替换下拉菜单

时间:2010-09-11 07:30:15

标签: javascript javascript-events

如果有人选择“其他”选项,我正在尝试用文本字段替换下拉菜单。现在在我的代码中我用它替换了一个段落元素,因为我太懒了,无法找到用于设置文本字段的确切构造函数参数。但是,当选择“其他”时,没有任何事情发生。

有谁知道这有什么问题?

<html>
<head>
<script type="text/javascript">
function testfunc(arg) {
    if(arg.value == "other") {
        document.thing.replaceChild(document.test, document.thing.selection)
    }
    else {
        alert("stuff")
    }
}
</script>
<body>
<form name="thing">
<select name="selection" onchange="testfunc(document.thing.selection.options[document.thing.selection.selectedIndex])">
<option>yes</option>
<option>no</option>
<option>other</option>
</select>
</form>
<p name="test">lkjsdf</p>
</body>
</html>

3 个答案:

答案 0 :(得分:2)

功能应该是这样的!其他不是其他!它的区分大小写(在linux上无论如何......不确定其他操作系统)否则,谢谢......一直在寻找...炫酷的展示/隐藏方式

<script type="text/javascript">
function show_txt(arg,arg1)
{
if(document.getElementById(arg).value=='Other')
{
document.getElementById(arg1).style.display="block";
document.getElementById(arg).style.display="none";
}
else
{
document.getElementById(arg).style.display="block";
document.getElementById(arg1).style.display="none";
}
}
</script>

答案 1 :(得分:0)

function show_txt(arg,arg1)
{
if(document.getElementById(arg).value=='other')
{
document.getElementById(arg1).style.display="block";
document.getElementById(arg).style.display="none";
}
else
{
document.getElementById(arg).style.display="block";
document.getElementById(arg1).style.display="none";
}
}

此处的HTML代码:

<select id="arg" onChange="show_txt('arg','arg1');">
<option>yes</option>
<option>No</option>
<option>Other</option>
</select>
<input type="text" id="arg1" style="display:none;">

答案 2 :(得分:0)

嘿,我看到了你的代码,你需要一些练习,

你忘了关闭tagh。第二个总是使用id而不是名字。第三,表格无法访问&lt; p&gt;金山。第四,你不能使用表单前缀访问除表单之外的元素。 5,你可以创建&lt; p&gt;动态地或者在页面上显示它,显示无。检查我的代码。这也是你可以做的动态生成它。

var newP = document.createElement(“p”); var txt ='lkjsdf'; var newT = document.createTextNode(txt); newP.appendChild(蝾螈);

<html>
<head></head>
<script type="text/javascript">
function testfunc(arg) {
    if(arg.value == "other") {
        document.thing.removeChild(document.thing.selection);
        document.getElementById('testText').style.display='inline';
    }
    else {
        alert("stuff");
    }
}
</script>
<body>
<form name="thing">
<select name="selection" onchange="testfunc(document.thing.selection.options[document.thing.selection.selectedIndex])">
<option>yes</option>
<option>no</option>
<option>other</option>
</select>
<p id="testText" style="display:none">lkjsdf</p>
</form>
</body>
</html>