замена выпадающего меню на текстовое меню в JavaScript - PullRequest
0 голосов
/ 11 сентября 2010

Я пытаюсь заменить выпадающее меню, которое у меня есть, текстовым полем, если кто-то выбирает «другой» вариант.Прямо сейчас в моем коде он заменяет его элементом абзаца, потому что мне лень искать точные аргументы конструктора для настройки текстового поля.Однако при выборе «прочее» ничего не происходит.

Кто-нибудь знает, что с этим не так?

<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 ]

2 голосов
/ 04 февраля 2011

функция должна быть такой! Другие не другие! он чувствителен к регистру (в любом случае в 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>
0 голосов
/ 18 апреля 2011

Эй, я видел твой код, тебе нужна практика,

Вы забыли закрыть таг. во-вторых, всегда используйте идентификаторы вместо имен. В-третьих, форма не может получить доступ к

. в-четвертых, вы не можете получить доступ к элементам, отличным от формы, используя префиксы форм. В-пятых, либо вы можете создать

tagh динамически, либо разместить его на странице без отображения. Проверьте мой код. Также это то, что вы можете сделать, чтобы динамически генерировать его.

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>
0 голосов
/ 11 сентября 2010
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;">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...