2009-03-11 7 views
0

次のようなJavaScriptコードがあります 一部のJavaScriptをJQueryに変換する

link.NavigateUrl = string.Format("javascript:MyFunction({0}, {1});", ID1, ID2); 
リンクがクリックされるとMyFunctionが呼び出され、動的パラメータが渡されます。

どのようにJQeryを使用してこれらのパラメータを渡すことができますか:

 
$(function(){ 
    $('#MyLinksID').click(function(){ 
     console.log('Want to have access the two params here');
});

どうして私のクリックイベント内からパラメータにアクセスできますか?

答えて

0

MyFunctionを呼び出してJQueryのクリックイベント内のパラメータにアクセスしようとする場合、最も簡単な方法はリンクのhrefを解析することです。

このような何かが動作するはずです(あなたのjQueryの内部でイベントをクリックしてください):

var href = this.href; 
var startPos = href.indexOf("(") + 1; 
var endPos = href.indexOf(")"); 

var parms = href.substr(startPos, endPos - startPos).split(","); 
3

あなたは「閉鎖」、JavaScriptで中心的な概念を使用する必要があります。

要するに、関数は、作成されたスコープ内の変数にアクセスします。

$(function(){ 
    var ID1 = 'foo'; 
    var ID2 = 'bar'; 
    $('#MyLinksID').click(function(){ 
     console.log(ID1+ID2); 
    } 
}); 

ID1とID2の変数はコールバック関数で作成されているのと同じスコープ内にあるので、それが後に呼び出されたとき、それはまだそれらにアクセスすることができます。

0

問題は、参照している#MyLinksIDのクリックイベントで、NavigateUrlプロパティに接続していないことです。あなたは2人の男が2つの可能な答えに答えたので、質問を明確にする必要があります。

関連する問題