簡體   English   中英

嘗試獲取jquery自動完成的result()函數內部的全局變量的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM