5

私は jQuery の専門家ではなく、C# から keyup および onclick イベントで呼び出された関数にいくつかの変数値を渡そうとしています。これまでのところ、次のようなものがあります。

$('mydiv').bind('keyup click', function(event) {}

しかし、私が必要とするのは次のとおりです。

$('mydiv').bind('keyup click', function(event, UserId, ControlId) {}

ここで、UserId と ControlId は、クエリ文字列からコード ビハインドで取得している ID です。jQuery 1.6.4 も使用しています。

できれば非表示の入力フィールドを使用せずに、これを行うにはどうすればよいですか? ありがとうございました。

4

6 に答える 6

1

onの代わりに使用bind

jQuery 1.7以降、.on()メソッドは、イベントハンドラーをドキュメントにアタッチするための推奨されるメソッドです。

サーバーからクライアントにかみそりで値を渡す(asp.net mvcを使用している場合):

$('mydiv').on('keyup click', function(event, @UserId, @ControlId) {}

またはそのWebフォームの場合:

$('mydiv')
    .on('keyup click', function(event, <%= UserId %>, <%= ControllId %>) {}
于 2012-10-10T10:54:25.020 に答える
0

私はデータ属性を使用します:

$('mydiv').data({ userId: <%= UserId %>, ControllId: <%= ControllId %> })

次に、onclickイベントでこれらのデータにアクセスできます。

$('mydiv').on('click', function(event) {
  var userId = $(this).data('userId');
  var ControlId = $(this).data('ControlId');
});
于 2012-10-10T10:54:05.537 に答える
0

コード ビハインドで変数を public として宣言する

public string userId="abc"; 

クライアント側でアクセスする

var uid='<%=userId %>';
$('mydiv').bind('keyup click', function(event, uid, ControlId) {}
于 2013-11-22T08:13:45.290 に答える
-1

Javascript スコープは他の言語のスコープとは異なります。

var UserId = 5; 
var ControlId = 5;

$('mydiv').bind('keyup click', function(event) 
{
  alert( UserId );  
});

それが動作します

http://jsfiddle.net/FgYTL/1/をチェックしてください

于 2012-10-10T11:13:02.243 に答える
-2

mydiv はクラス、ID、または jQuery 変数ですか? する必要があるようです

$('div.mydiv') or $('div#mydiv') 
于 2012-10-10T11:19:57.327 に答える