2010-10-28 8 views
0

У меня есть две раскрывающиеся формы. Когда первый «изменен», второй заполняется некоторыми данными через ajax.
Это работа, но значение второго выпадающего списка не очищается при каждом запросе (я использую $ («# second_drop_down») детей() удалить();..)Проблема с удалением ребенка

Вот пример кода

$('#first_drop_down').live('change', function() { 
    var x = "some ajax data recived via ajax"; 
    $('#second_drop_down').children().remove(); 
    $('#second_drop_down').append(f); 
}); 
+1

Что значит «значение не очищено»? – RoToRa

ответ

0

Здесь у вас есть код, который работает, но это практически как у вас (у вас есть ошибка в вашем примере, 2 Differente переменные «х» и «F»):

http://www.jsfiddle.net/dactivo/8jfHG/

var timeChanged=1; 
    $("#first_drop_down").change(function() 
         { 

       $("#second_drop_down").children().remove(); 
       $("#second_drop_down").append("<option value=\"volvo\">Volvo"+ 
timeChanged+ 
    "</option><option value=\"saab\">Saab"+ timeChanged+ 
    "</option><option value=\"mercedes\">Mercedes"+ timeChanged+"</option>"); 
            timeChanged++; 
          }); 

Возможно, код, полученный вами ajax, искажен (я полагаю).

0

Вы делаете синхронный вызов Ajax? Если нет, вы должны поместить код, который изменит второе выпадение в функции обратного вызова, иначе вы будете работать с данными, которые еще не были получены. Предполагая, что вы используете jQuery:

$.get('http://www.example.com', {first:$('#first_drop_down').val()}, 
    function(data) { 
    $('#second_drop_down').children().remove(); 
    $('#second_drop_down').append(data); 
}); 
Смежные вопросы