我有两个下拉表格。当第一个被“改变”时,第二个通过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);
});
答案 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);
});