2016-07-26 8 views
0

私は、複数の他の関数に渡す必要があるbuttonIDという引数を受け入れる関数を持っています。リンクがクリックされると、IDが渡されます。Javascriptはコールバック関数に引数を渡します。

<a href="#" class="theme_btn" id="check-user" onClick="javascript:checkUser(this.id);">User Check</a> 

My機能は

function checkUser(buttonID) { 
//do some stuff 
var data = {}; 
data.callback = getUserInfo; 
data.username = uname; 
data.level = lvl; 
checkLevel(data); 
} 

私が午前問題は、私は、コールバック関数、getUserInfoにbuttonIDを渡すことができませんということです。

getUserInfo(buttonID)を試しましたが、正しく機能しません。 getUserInfo({buttonID])の次の構文を使用する必要がありますか?

要するに、functionからfunctionへ渡すためにbuttonIDの値が必要です。私はこれが私を後押ししている構文だと思います。私が違ったことを試すことができるアイデアや提案はありますか?

+0

data.buttonId = buttonID '追加;' –

答えて

0

あなたは匿名関数でそれを行うことができます:JavaScriptのES6の構文で

data.callback = function(){getUserInfo(buttonID)} 

、少し短い:

data.callback = _=>{getUserInfo(buttonID)} 
0

var buttonIDGlobal; 
 

 
function checkUser(buttonID) { 
 

 
buttonIDGlobal = buttonID; 
 
//do some stuff 
 
var data = {}; 
 
data.callback = getUserInfo; 
 
data.username = uname; 
 
data.level = lvl; 
 
checkLevel(data); 
 
}
You can simple define a global variable and assign the button ID to that variable. 
 

 

 
Now "buttonIDGlobal" is accessible in "getUserInfo()" function.`enter code here`

関連する問題