Добавить <option>в IE 6 награды - PullRequest
1 голос
/ 28 января 2009

У меня есть код ниже, написанный на JavaScript, чтобы добавить новую опцию в список выбора из окна открывания:

function updateSelectList()
{
    var field = opener.document.objectdata.ticketPersonId;
    if (true && opener && field)
    {
        var val = document.createElement('option');
        var title = document.objectdata.titleId.options[document.objectdata.titleId.selectedIndex].text;
        val.text =  title + ' ' + document.objectdata.firstName.value + ' ' + document.objectdata.lastName.value + ':' + document.objectdata.username.value;    
        val.value = null;

        val.selected = true;
        field.add(val, null);
    }
}

отлично работает в Firefox, Google Chrome и т. Д., Но не в IE 6 :-( Посоветуйте, пожалуйста, как я могу сделать это в IE 6, а также.

Ответы [ 2 ]

1 голос
/ 28 января 2009

Вот мой фрагмент:

if (oldopt!=null || !horus.brokenDOM)
  select.add(newopt, oldopt);
else
  newopt=options[options.length]=new Option(newopt.text, newopt.value, false, false);

Определение horus.brokenDOM оставлено читателю:)

IIRC, у меня возникли трудности с использованием предопределенных объектов Option (обычно извлекаемых из другого окна выбора) в этом контексте с IE, следовательно, создание объекта на месте.

0 голосов
/ 28 января 2009
function updateSelectList()
{
    var field = opener.<%= updatelist %>;
    if (<%= called %> && opener && field)
    {
        var val = opener.document.createElement('option');
        var title = document.objectdata.titleId.options[document.objectdata.titleId.selectedIndex].text;
        val.text =  title + ' ' + document.objectdata.firstName.value + ' ' + document.objectdata.lastName.value + ':' + document.objectdata.username.value;    
        val.value = <%= thePerson != null ? thePerson.getId() : null %>;
        val.selected = true;
        try
        {
            field.add(val, null);
        }
        catch(error)
        {
            field.add(val, 0);
        }
    }
}

это швы на работу. Что за миссия!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...