|
|
|
| Когда выбираю сразу несколько пунктов в select multiple="multiple") все равно создается одна строка.
Как сделать чтобы при выборе нескольких пунктов создавалась своя строка?
function sel()
{
var ing, mass = new Array(), tbody, row;
ing = document.getElementById("ingr");
tbody = document.getElementById("ingr_value");
row = document.createElement("TR");
var td1 = document.createElement("TD");
var td2 = document.createElement("TD");
for(i = 0; i < ing.length; i++)
{
if(ing[i].selected == true)
{
tbody.appendChild(row);
row.appendChild(td1);
row.appendChild(td2);
td1.innerHTML = ing[i].value;
td2.innerHTML = ing[i].firstChild.nodeValue;
}
}
}
|
| |
|
|
|
|
|
|
|
для: brys
(25.08.2009 в 22:58)
| | Вы создали ОДИН элемент TR, и два элемента TD. Функция работает так как она написана.
Чтобы получить таблицу из нескольких строк, их надо тоже СОЗДАТЬ.
(дальше думайте сами, это полезно) | |
|
|
|
|
|
|
|
для: Волки
(25.08.2009 в 23:35)
| | Ты мне сказал что я сделал, а на мой вопрос ответил: Сам думай.....
На этом форуме совета или решения просят.....
Я не прошу за меня делать скрип, а прошу направить меня в правильно направлении | |
|
|
|
|
|
|
|
для: brys
(25.08.2009 в 23:57)
| | Кому интерестно решение. нужно использовать другие функции:
insertRow()
insertCell()
С функцией createElement у меня не получилось | |
|
|
|
|
|
|
|
для: brys
(25.08.2009 в 22:58)
| | У вас какой-то бред написан.
Переменная ing у вас - это какой-то HTML-тег: ing = document.getElementById("ingr");
А у HTML-тега нет и не может быть длины.
Ваша конструкция for (i = 0; i < ing.length; i++) поэтому БЕССМЫСЛЕННА.
Рекомендую вам посмотреть тему http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=67393, из неё вы сможете узнать - КАК сформировать массив значений VALUE из выбранных в мульти-селекте опшенов.
Значение мульти-селект.value даст вам не массив, а значение value ТОЛЬКО ПЕРВОГО из выбранных опшенов. | |
|
|
|
|
|
|
|
для: PAT
(26.08.2009 в 02:19)
| | >У вас какой-то бред написан.
>Переменная ing у вас - это какой-то HTML-тег: ing = document.getElementById("ingr");
>
>А у HTML-тега нет и не может быть длины.
Переменная ing содержит массив из списка:
<select id="ingr" name="{$input[1]}[]" multiple="multiple"> | |
|
|
|
|
|
|
|
для: brys
(26.08.2009 в 13:31)
| | Вы не понимаете того, что пишете.
Какой-то из атрибутов тега (или из свойств тега) может содержать в себе какое-либо нужное вам значение (строковое или массив), имеющее длину. Но сам тег - ДЛИНЫ не имеет:
document.getElementById ("ingr").value.length ---> правильно
document.getElementById ("ingr").tagName.length ---> правильно
document.getElementById ("ingr").title.length ---> правильно
document.getElementById ("ingr").name.length ---> правильно
...
Но
document.getElementById ("ingr").length ---> бред
|
| |
|
|
|