我需要一些范围帮助。下面是我的代码(简化)。在 buildDropdownOptions 内 ajax 调用的成功事件内的函数内...(拗口)。
我正在尝试在与 buildDropdownOptions 级别相同的设置对象中设置某些内容,但我无法访问它(可能是因为 AJAX 调用?)。
有人知道如何让这个东西发挥作用吗?
var settings = {},
buildDropdownOptions = function () {
var success = function (clinics, settings) {
var dropdownOptions = [];
$.each(clinics, function (i, clinic) {
dropdownOptions.push('<option value="' + clinic.ClinicId + '">' + clinic.Name + '</option>');
});
settings.dropdown.options = dropdownOptions;
};
$.ajax({
'url': settings.dropdown.source,
'success': function (clinics, settings) {
success(clinics);
}
});
};
最佳答案
通过将 settings
包含为函数参数,您可以隐藏更高级别的 settings
变量。
事实上,在这种情况下,您可以使用 undefined
隐藏它。
删除参数列表中提到的设置
,它应该可以正常工作。
关于javascript - 为什么我无法访问设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14530201/