[英]get variable from function to another javascript
我試圖將變量的值從一個函數傳遞給另一個函數
function changeParent(){
$(document).ready(function(){
$('a').on('click',function() {
var x = $(this).attr('id');
var y = $(this).attr('name');
$.ajax({
type: 'POST',
url: 'http://test.local/Family.php?action=getId',
data: {'childId' : y},
success: function(msg) {
document.getElementById('names').value = x;
msg = x ;
}
});
});
});
}
第二個函數從第一個函數調用msg
$(document).ready(function(){
$('#saveId').on('click',function() {
alert(msg);
});
});
我試過了
alert(window.msg);
但是它沒有獲得msg
的最后一個值。 我該如何通過?
在兩個函數的范圍之外聲明一個變量。 成功回調函數中有一個msg
,因此當您調用msg = x
它實際上將x分配給了該引用。
var message;
function changeParent(){
$(document).ready(function(){
$('a').on('click',function() {
var x = $(this).attr('id');
var y = $(this).attr('name');
$.ajax({
type: 'POST',
url: 'http://test.local/Family.php?action=getId',
data: {'childId' : y},
success: function(msg) {
document.getElementById('names').value = x;
message = x ;
}
});
});
});
}
$(document).ready(function(){
$('#saveId').on('click',function() {
alert(message);
});
});
這樣,可變message
可用於兩個功能。
msg的作用域為第一個文檔就緒功能,而第二個功能不可用。
<button id="btn1">
Button 1
</button>
<button id="btn2">
Button 2
</button>
請注意,如何僅在第一個文檔就緒函數內部定義msg1,但是如何全局定義msg2(而不是在函數內部)。 按鈕1將不起作用,按鈕2將在最后檢查小提琴。
var msg2
$(document).ready(function(){
var msg1 = "Hello World"
msg2 = "Goodbye World"
})
$(document).ready(function(){
$("#btn1").on("click", function(e) {
e.preventDefault()
alert(msg1)
})
$("#btn2").on("click", function(e) {
e.preventDefault()
alert(msg2)
})
})
小提琴: http : //jsfiddle.net/tnj4yLeg/3/
問題是味精。 您的味精在成功回調中只有局部變量也很奇怪:
success: function(msg) {
document.getElementById('names').value = x;
msg = x ;
}
//沒有意義! msg對於回調函數是arg
使全局變量:
var Message = '';
成功介紹:
Message = msg;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.