我有一个名为“id”的全局变量。每当我选择另一个输入时,变量会改变。但不知何故,具有“id”的其他函数不会反映使用live更改的当前值。
// Start Ready
$j(document).ready(function() {
var id;
$j("input").live('click', function(haha){
id = document.activeElement.id;
console.log(id);
});
// Live Search
// On Search Submit and Get Results
function search() {
var query_value = $('input#' + id).val();
$j('b#search-string').text(query_value);
if(query_value !== ''){
$j.ajax({
type: "POST",
url: "clientsearch.php",
data: { query: query_value },
cache: false,
success: function(html){
$("ul#client-result").html(html);
}
});
}return false;
}
$j("input#" + id).live("keyup", function(e) {
// Set Timeout
clearTimeout($.data(this, 'timer'));
// Set Search String
var search_string = $(this).val();
// Do Search
if (search_string == '') {
$j("ul#client-result").fadeOut();
}else{
$j("ul#client-result").fadeIn();
$j(this).data('timer', setTimeout(search, 100));
};
});
});
答案 0 :(得分:1)
整个local
的{{1}}变量屏蔽global
变量。
要访问function
global
,您可以使用 id
。
希望这会对你有所帮助。