我必须错过一些简单的东西,但我真的不知道是什么。我不是JS的老手,所以这可能是一个简单的答案-当然希望如此:)。
我有一个按钮,当点击时,它可以获取json数据。当下拉菜单被更改时,我检查是否有数据,如果有,我想清除它,因为下拉菜单指示单击按钮时要检索的数据
代码:
var selected, $locDialog;
var locations = [];
$(function() {
// Save the selected Name
selected = $("#selected option:selected").val();
// Setup Dialog for Locations
$locDialog = $('#location-dialog').dialog({
autoOpen: false
});
// If user changes the selected
// 1. Prompt for confirmation
// 2. If users confirms, clear data
$('#selected').change(function() {
if (locations) {
var confirmed = confirm("Oh Rly?");
if (confirmed) {
// Clear data
var locations;
}
}
});
// When user clicks "Location" Button..
$('.loc-select button').click(function() {
if (!locations) {
$.getJSON("/Controller/JSONAction", { selectedId: selected, pageNum: 1, pageSize: 100 }, function(data) {
locations = data;
$.each(locations, function(index, loc) {
var $tr = $('<tr/>')
.append($('<td/>')
.append('<input type="checkbox" name="TEST-'+index+'" value="'+loc.Id+'"/>'))
.append('<td>' + loc.Name + '</td>');
$("#location-dialog table tbody").append($tr);
});
});
}
$locDialog.dialog('open');
return false;
});
});
这是里面的东西
.click(...)
回拨,我能看到
locations
是
[]
. 现在,当我在
.change(...)
回拨,我明白了
位置
是
undefined
.
如有任何帮助/见解,我们将一如既往地感谢您!