[英]jQuery - Passing variable within a function to another function
如果用戶單擊某個按鈕,則我有一些不同的功能可以設置變量。 然后,它將變量傳遞給AJAX函數。...除了不傳遞變量。
這是一個例子:
$('#Button1').on('click', function(e) {
var add1 = 'yes';
e.preventdefault();
})
$('#Button2').on('click', function(e) {
var add1 = 'no';
e.preventdefault();
})
$('#DoneButton').on('click', function(e) {
submitLink = 'submit.php'
dataString = 'add=' + add1;
$.ajax({
type: "POST",
url: submitLink,
data: dataString,
cache: false,
success: function(data) {
/* My Success Notification Here */
}
});
e.preventdefault();
})
我也嘗試將變量聲明為以下函數:
var add1;
那也不起作用,只是出現為“ undefined”
我該怎么做才能解決此問題?
將var
放到內部,這樣變量引用就不會在本地作用於click。
var add1;
$('#Button1').on('click', function(e) {
add1 = 'yes';
e.preventdefault();
})
$('#Button2').on('click', function(e) {
add1 = 'no';
e.preventdefault();
})
$('#DoneButton').on('click', function(e) {
submitLink = 'submit.php'
dataString = 'add=' + add1;
$.ajax({
type: "POST",
url: submitLink,
data: dataString,
cache: false,
success: function(data) {
/* My Success Notification Here */
}
});
e.preventdefault();
});
將var add1
放入函數中會在該函數中本地聲明。 如果要在外部聲明,則必須添加var add1;
在函數外部,然后刪除函數內部的var
,即`add1 ='no';
您需要在共享作用域中定義變量,以便所有功能都可以訪問它,在這種情況下,這就是全局作用域。 然后在函數的本地范圍內為其分配一個值。
您缺少的簡單部分是,一旦使用var myVar
在共享范圍中聲明了它,就無需在分配給它時再次使用var
關鍵字,因為這樣做會創建一個僅在本地可訪問的變量。函數的作用域,無論其名稱是否相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.