2010-12-09 2 views
0

У меня есть раскрывающийся список, который позволяет пользователям выбирать, сколько входных данных у них есть. Так, например, возможно, они хотят ввести одно слово, они выберут одно. Если они хотят ввести два слова, они выберут два.Создание нескольких полей ввода

В зависимости от того, какой вариант они выбирают, я хочу создать много текстовых полей ниже, которые я могу также использовать для использования других скриптов (например, путем индексации).

Есть ли способ сделать это?

+0

Да, есть. Но вам нужно использовать JavaScript. Вы знакомы с ним? – dheerosaur 2010-12-09 15:37:13

ответ

1

Конечно, используйте Javascript для управления DOM. В его простейшей форме вы могли бы сделать что-то вроде:

document.getElementById('someDiv').innerHTML += "<label>Label:</label><input type='file' value='' />"; 

Или используя что-то вроде JQuery:

var new_field = " <label>SomeLabel: </label> <input type = "text"/>"; 
$("#sonmeSelector").before(new_field); 
+0

Javascript отлично поработал. Мне просто нужно было узнать о innerHTML. – MxyL 2010-12-29 14:02:06

1

вы хотите некоторые вещи, как это (сделано с JQuery 1.4.4):

HTML

<html> 
    <head> 
    <title>Multiple Input</title> 
    </head> 
    <body> 
    <select id="amount" name="amount" onchange="addInput();"> 
     <option value="1" >1</option> 
     <option value="2" >2</option> 
     <option value="3" >3</option> 
    </select> 
    <div id="inputs"> 
    </div> 
    </body> 
</html> 

JS

function addInput(){ 
    var amount = $('#amount').val(); 
    var inputs = $('#inputs').empty(); 
    for(i = 0; i < amount; i++) { 
    inputs.append('<input type="text" name="input[' + i + ']" /> '); 
    } 
} 

Также посмотрите на мой jsfiddle http://jsfiddle.net/8KqUt/

Смежные вопросы