С нами с 15.12.06
Сообщения: 673
Рейтинг: 686
|
Добавлено: 06/08/09 в 16:24 |
Вообщем есть такая форма:
Код: |
<select size="10" name="list" id="list" style="width:200px;height:100px;margin:2px;"></select>
<br>
<textarea name="text" style="width:240px;height:150px;margin:2px;"></textarea>
<br>
<a href="#" onClick="java_function()">Добавить</a>
|
Нужно чтобы при нажатии на ссылку "добавить" данные из текстового поля "text" переносились в список строк "list", а само текстовое поле очищалось при этом.
Как это реализовать на java скрипте?
|
|
|
|
С нами с 04.02.05
Сообщения: 151
Рейтинг: 31
|
Добавлено: 06/08/09 в 18:15 |
Код: |
<script>
function java_function()
{
te = document.getElementById('text');
list = document.getElementById('list');
text = te.value;
te.value = '';
strings = text.split("\n");
list.options.length = 0;
for(i=0;i!=strings.length;i++)
list.options[list.options.length] = new Option(strings[i], strings[i]);
}
</script>
<select size="10" name="list" id="list" style="width:200px;height:100px;margin:2px;"></select>
<br>
<textarea name="text" id='text' style="width:240px;height:150px;margin:2px;"></textarea>
<br>
<a href="#" onClick="java_function()">Добавить</a>
|
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 06/08/09 в 18:23 |
Код: | <script language="JavaScript" type="text/javascript">
function Append(s,t)
{
var i;
for each(i in t.value.split("\n")) s.options[s.length] = new Option(i);
t.value="";
}
</script>
<form>
<select name="select" size=10>
<option value="Default">Default</option>
</select>
<br />
<textarea name="text" rows="10"></textarea>
<br />
<input type="button" value="Append" onclick="Append(this.form.select,this.form.text)" />
</form> |
|
|
|
|
С нами с 15.12.06
Сообщения: 673
Рейтинг: 686
|
Добавлено: 06/08/09 в 19:57 |
спасибо оба примера работают, оценил всех +5
|
|
|
|
С нами с 15.12.06
Сообщения: 673
Рейтинг: 686
|
Добавлено: 06/08/09 в 20:28 |
И еще такой вопрос как очистить список строк
Код: | <select size="10" name="list" id="list" style="width:200px;height:100px;margin:2px;"></select> |
нажатием на ссылку:
Код: | <a href="#" onClick="java_function_clear()">Очистить</a> |
|
|
|
|
С нами с 04.02.05
Сообщения: 151
Рейтинг: 31
|
Добавлено: 06/08/09 в 23:20 |
Код: |
<script>
function java_function_clear()
{
document.getElementById('list').length = 0;
}
</script>
<select size="10" name="list" id="list" style="width:200px;height:100px;margin:2px;">
<option value='1'>1</option>
<option value='2'>2</option>
</select>
<a href="#" onClick="java_function_clear()">Очистить</a> |
|
|
|
|
С нами с 15.12.06
Сообщения: 673
Рейтинг: 686
|
Добавлено: 07/08/09 в 01:34 |
Пасиб, оценил, и еще вопрос...
Например, есть такая форма:
Код: | <select size="15" name="list1" id="list1" style="width:300px;height:300px;margin:2px;">
<option name="str_1" id="str_11" value="1">Колбаса</option>
<option name="str_12" id="str_12" value="2">Сыр</option>
<option name="str_13" id="str_13" value="3">Хлеб</option>
<option name="str_14" id="str_14" value="4">Яйца</option>
<option name="str_15" id="str_15" value="5">Рыба</option>
<option name="str_16" id="str_16" value="6">Апельсин</option>
<option name="str_17" id="str_17" value="7">Ананас</option>
<option name="str_18" id="str_18" value="8">Семочки</option>
<option name="str_19" id="str_19" value="9">Лимон</option>
<option name="str_110" id="str_110" value="10">Прочее</option>
</select>
<br><br>Фильтр<br>
<input type="text" value="" name="filter" style="width:300px;margin:2px;" onClick ="java_function_filter();"><br><br>
<select size="15" name="list2" id="list2" style="width:300px;height:300px;margin:2px;">
</select> |
Нужна функция на джаве, чтобы каждый раз при изменении текстового поля (в параметре "<input type="text" value="" name="filter" " скорее всего событие не "onClick ="java_function_filter();"" будет, а что-то типа "onChange") из первого списка "list1" брались строки в которых есть часть введенного теста в самом текстовом поле и все это отображалось во втором списке "list2" (фильтр не должен быть чувствителен к регистру).
Например, из приведенного мной списка:
- Колбаса
- Сыр
- Хлеб
- Яйца
- Рыба
- Апельсин
- Ананас
- Семочки
- Лимон
- Прочее
при наборе в текстовом поле "text" буквы "а" моментально отображались бы строки:
- Колбаса
- Яйца
- Рыба
- Апельсин
- Ананас
а если набрать "ан" то будет отображаться только:
|
|
|
|
С нами с 04.02.05
Сообщения: 151
Рейтинг: 31
|
Добавлено: 07/08/09 в 01:51 |
Код: |
<script>
function java_function_filter()
{
var list1 = document.getElementById('list1');
var list2 = document.getElementById('list2');
var substr = document.getElementById('fltr').value;
if(substr=='')
return;
substr = substr.toLowerCase();
list2.length = 0;
for each(var opt in list1.options)
{
if(opt.text.toLowerCase().indexOf(substr) != -1)
list2.options[list2.length] = new Option(opt.text, opt.value);
}
}
</script>
<select size="15" name="list1" id="list1" style="width:300px;height:300px;margin:2px;">
<option name="str_1" id="str_11" value="1">Колбаса</option>
<option name="str_12" id="str_12" value="2">Сыр</option>
<option name="str_13" id="str_13" value="3">Хлеб</option>
<option name="str_14" id="str_14" value="4">Яйца</option>
<option name="str_15" id="str_15" value="5">Рыба</option>
<option name="str_16" id="str_16" value="6">Апельсин</option>
<option name="str_17" id="str_17" value="7">Ананас</option>
<option name="str_18" id="str_18" value="8">Семочки</option>
<option name="str_19" id="str_19" value="9">Лимон</option>
<option name="str_110" id="str_110" value="10">Прочее</option>
</select>
<br><br>Фильтр<br>
<input type="text" value="" id="fltr" name="filter" style="width:300px;margin:2px;" onkeyup ="java_function_filter();"><br><br>
<select size="15" name="list2" id="list2" style="width:300px;height:300px;margin:2px;">
</select>
|
|
|
|
|
С нами с 15.12.06
Сообщения: 673
Рейтинг: 686
|
Добавлено: 07/08/09 в 02:12 |
супер, все работает огромное спасибо! ну и +5
|
|
|
|