[英]Global variable in JQuery is not updating it's value form inside the click function
[英]Trying to get the value of a global variable inside the result() function of the jquery autocomplete
我在下面的代碼。 如您所見,我正在嘗試在jqueryautocomplete的警報功能中使用變量客戶端。
問題:當我從自動完成下拉菜單中選擇一個項目時,它將打印“ undefined”而不是var的值。 為什么?
jQuery(document).ready(function() {
var clients = 0;
alert(clients); //this prints 0.
jQuery("#user_autocomplete")
.autocomplete('autocompleteUser', jQuery.extend({}, {
dataType: 'json',
parse: function(data) {
var parsed = [];
for (key in data) {
parsed[parsed.length] = { data: [ data[key], key ], value: data[key], result: data[key] };
}
return parsed;
}
} ))
.result(function(event, data) {
$('#field_users').append('<div class="user_choosen" id=' + data[1] + '>' + data[0] +'<a class="link_delete_user" href="#" onclick="javascript:deleteUser(' + data[1] +')">Delete</a></div>');
$('#user_autocomplete').val('');
alert(clients); //this prints undefined
});
});
問候
哈維
這不是全局變量,而是在准備好文檔時在匿名函數范圍內定義的變量。
我相信,當運行傳遞到自動完成的results方法的匿名函數時,作用域可能會丟失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.