jQuery:如何在选择事件时刷新javascript值

jQuery: how to refresh javascript value on select event?

本文关键字:刷新 javascript 事件 选择 jQuery      更新时间:2023-09-26

我的代码是:

var regions = [{'label': 'array', 'value': '1'}];   //default values
$("#auto1").select({
    regions = jQuery.parseJSON(     //updating process
        $.ajax({
            type: 'POST',
            url: '/ajax/place/',
            data: { country: value }
        })
    );
    return false;
});
$("#auto2").some_func({
    initialValues: regions,     //here must be updated values, but it's not
});

我认为从上面的代码可以理解:当页面加载时,元素#auto2有默认值,但当我从#auto1中选择smth时,它必须更新,但它不是。

如何更新数据值对应的值

谢谢!

$("#auto1").select({
    regions = jQuery.parseJSON(     //updating process
        $.ajax({
            type: 'POST',
            url: '/ajax/place/',
            data: { country: value },
            success: function( data ) {
               //trying yo update values, after successfull response
               //some cool code is here or calling a function to update values
            },
            error: function( data ) {
               //error to update
            }
         }
        })
    );
    return false;
}); 

您的问题是如何试图获得您的ajax数据回来。Ajax调用是异步的,这意味着它们在返回之前不会占用代码。因为这个jQuery。Ajax允许您绑定成功和失败回调,这取决于Ajax响应返回的是成功代码还是失败代码。您需要在成功回调中解析您的数据,并将其存储在some_func方法可以看到的作用域中的变量中

var regions = [{'label': 'array', 'value': '1'}];   //default values
$("#auto1").select({
        $.ajax({
            type: 'POST',
            url: '/ajax/place/',
            data: { country: value },
            success: function(data){
              regions = jQuery.parseJSON(data);
            }
        });
    return false;
});
$("#auto2").some_func({
    initialValues: regions 
});