Обращение к свойству value и text поля select
У меня такой код для селектбоксов:
addOption(document.drop_list.Category2,dd1, dd1); function SelectSubCat2(){ var c2 = document.drop_list.Category2.text; var dd1 = "CD-R"; if(c2 == dd1){ addOption(document.drop_list.Category3,sel3, sel3); addOption(document.drop_list.Category3,bp1, b1); addOption(document.drop_list.Category3,bp2, b2); } function addOption(selectbox, value, text ){ var optn = document.createElement("OPTION"); optn.text = text; optn.value = value; if(text==sel0|text==sel1|text==sel2|text==sel3){ optn.setAttribute("selected","selected"); } selectbox.options.add(optn); }Если я указываю переменную c2 как свойство - text, то функция не работает, строки не добавляются. :( А если её указать как value var c2 = document.drop_list.Category2.value;функция работает. |
Это свойство readOnly.
Вы можете воспользоваться свойством textContent (innerText у Internet Exploiter). Либо свойством innerHTML. Либо добавлять опции можно еще так: select.options.add(new Option(text, value)) |
Спасибо.
Но я поясню проблему: Не работает if в функции SelectSubCat2(), если обраащаться к text. Т.е. если сравнивать document.drop_list.Category2.text , когда селктбокс Category2 имеет значение текста "CD-R", и переменную dd1 , которой присвоен текст "CD-R" равенства не получается. |
У select-а нет свойства text.
Вам нужно сначала получить ссылку на выбранную опцию, затем обратиться к ее полю text: var c2 = document.drop_list.Category2; c2 = c2.selectedIndex !== -1 ? c2.options[c2.selectedIndex].text : ''; |
Вот оно как Оо
Спасибо. Пойду кормить мозги. |
Часовой пояс GMT +3, время: 14:18. |