删除孩子的问题

时间:2010-10-28 11:01:25

标签: javascript jquery

我有两个下拉表格。当第一个被“改变”时,第二个通过ajax填充一些数据 这是工作,但第二次下拉的值不是每次请求都清除(我使用$('#second_drop_down')。children()。remove();)

以下是示例代码

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

2 个答案:

答案 0 :(得分:0)

这里有一个有效的代码,但它实际上和你的一样(你的例子中有一个错误,2个不同的变量“x”和“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收到的代码可能格式不正确(我猜)。

答案 1 :(得分: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);
});