|
|
|
| Всем привет.
Столкнулся с такой вот проблемкой.
Надо сделать, чтоб при выборе определенного значения()например "2") в тэге SELECT(выпадающий список) выводилось на экран два поля инпут.
Если выбираешь 3, то соответственно 3 поля.
Думаю для людей, разбирающихся в javascript не составит проблемы написать код.
Заранее спасибо. | |
|
|
|
|
|
|
|
для: [ANTI]CheateR
(20.08.2008 в 17:18)
| |
<html>
<head>
</head>
<body>
<select id="sel" onchange="Add()" name='choice'>
<option value='0'>0</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
</select>
<div id="list"></div>
</body>
<script>
function Add(){
var val = document.getElementById('sel').value
var parent = document.getElementById('list');
parent.innerHTML = '';
for(i=0; i<val; i++){
var child = document.createElement('INPUT');
input = parent.appendChild(child);
input.type = 'text';
input.name = 'name'+(parent.childNodes.length-1);
}
}
</script>
</html>
|
| |
|
|
|
|
|
|
|
для: ONYX
(21.08.2008 в 03:02)
| | Эх, думал сам смогу по аналогии подправить твой скрипт. Но че то никак не получается.
ONYX, помоги, пожалуйста.
Вот конкретная задача:
Надо только три варианта для селект 2, 3 и 6. ну и соответстенно, столько же инпутов для каждого из вариантов.
Причем при загрузке страницы должны появляться два поля инпут, а значение селект равно 2 должно быть.
ЗАРАНЕЕ СПАСИБО. | |
|
|
|
|
|
|
|
для: [ANTI]CheateR
(21.08.2008 в 09:21)
| | NEED HELP ! Вопрос выше ! | |
|
|
|
|
|
|
|
для: [ANTI]CheateR
(22.08.2008 в 14:15)
| | Не совсем понятна задача, но может так?
<html>
<head>
</head>
<body onload="Add(2)">
<select id="sel" onchange="Add()" name='choice'>
<option value='0'>0</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
</select>
<div id="list"></div>
</body>
<script>
function Add(pusk){
var val = document.getElementById('sel').value;
if(pusk) val = pusk;
var parent = document.getElementById('list');
if(val==2 || val==3 || val==6)
{
parent.innerHTML = '';
for(i=0; i<val; i++){
var child = document.createElement('INPUT');
input = parent.appendChild(child);
input.type = 'text';
input.name = 'name'+(parent.childNodes.length-1);
}
}
}
</script>
</html>
|
| |
|
|
|
|
|
|
|
для: Николай2357
(22.08.2008 в 23:10)
| | Учтите только, что в MSIE строка
input.name = 'name'+(parent.childNodes.length-1);
| будет проигнорирована, т.е. инпуты имена (NAME) не получат и, соответственно, при сабмите формы никакие данные из этих полей отправлены не будут.
Но если инпуты нужны вам исключительно "для красоты", то сойдёт и так :-) | |
|
|
|
|
|
|
|
для: [ANTI]CheateR
(21.08.2008 в 09:21)
| | Полагаю вот так:
<html>
<head>
</head>
<body>
<select id="sel" onchange="Add()" name='choice'>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='6'>6</option>
</select>
<div id="list"></div>
</body>
<script>
function Add(){
var val = document.getElementById('sel').value
var parent = document.getElementById('list');
parent.innerHTML = '';
for(i=0; i<val; i++){
var child = document.createElement('INPUT');
input = parent.appendChild(child);
input.setAttribute('type','text');
input.setAttribute('name','name'+(parent.childNodes.length-1));
}
}
Add();
</script>
</html>
|
| |
|
|
|