Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Добавление нового option


Автор: addask 29.3.2011, 09:46
Утро. Написал скрипт - 

Код



function Change()

{
     
    var selectElement = $('crs');

    selectElement.empty();

    //alert (vals);

     

    for(id = 1; id < 5; id++) {

        var optionElement = new Element("option", {

            'value': id + " курс"
        });
        optionElement.update(id+ " курс" );

        selectElement.appendChild(optionElement);

    }

}

он вызывается при изменение другого селект бокса, все работает правильно, кроме одно, при первом изменение все нормально, а при последующих он не перерисовывает optionы, а добавляет к уже имеющимся. Как исправить?

Автор: z-END 29.3.2011, 09:57
Цитата(addask @  29.3.2011,  10:46 Найти цитируемый пост)
 var selectElement = $('crs');

может все таки так:
Код

var selectElement = $('#crs');

Автор: addask 29.3.2011, 10:29
Цитата(z-END @ 29.3.2011,  09:57)
Код

var selectElement = $('#crs');

Как вы написали не работает. Мой же работает, но как я уже упоминал проблема в том что при втором и следующих запусках, предыдущие значения не стираются, и получает, что они накапливаются накапливают и накапливаются

Автор: нуп 29.3.2011, 10:31
Ну так не находит оно такой элемент. 
Код

 var selectElement = $('crs'); 

Как вы его ищите? по айди, по классу???? Все правильно вам написали 
Код

var selectElement = $('#crs');

Поставьте на 2-й селект 
Код

<select id="crs">...</select>


Автор: addask 29.3.2011, 12:21
Цитата(нуп @ 29.3.2011,  10:31)
Ну так не находит оно такой элемент. 
Код

 var selectElement = $('crs'); 

Как вы его ищите? по айди, по классу???? Все правильно вам написали 
Код

var selectElement = $('#crs');

Поставьте на 2-й селект 
Код

<select id="crs">...</select>

все перестает работать, если писать как вы говорите.

хтмл
Код

 <select name="kaf" id="kafedra" onchange="Change();">
    <option value="МИПИ" >МИПИ</option>
    <option value="ГСЭН">ГCЭН</option>
    </select>
    
    <select id="crs">
    <!--<option value="ah">Выберите курс</option> 
        <option value="1 курс" >1 курс (2010 год)</option>
        <option value="2 курс">2 курс (2009 год)</option>
        <option value="3 курс" >3 курс (2008 год)</option>
        <option value="4 курс">4 курс (2007 год)</option>
        <option value="5 курс" >5 курс (2006 год)</option>-->
    </select>

Автор: нуп 29.3.2011, 12:57
Код

function Change()
{
    var selectElement = $('#crs');
      selectElement.empty();
    for(var id = 1; id < 5; id++) {
       var option = '<option value="' + id + '_kyrs">' + id + '_kyrs</option>';
        selectElement.append(option);
    }
}

Автор: addask 29.3.2011, 13:09
Цитата(нуп @ 29.3.2011,  12:57)
Код

function Change()
{
    var selectElement = $('#crs');
      selectElement.empty();
    for(var id = 1; id < 5; id++) {
       var option = '<option value="' + id + '_kyrs">' + id + '_kyrs</option>';
        selectElement.append(option);
    }
}

во, то что надо. Спасибо огром smile ное

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)