-2

非表示フィールドにデータを入力するための次の jQuery スクリプトがあります。

$("#button").click(function() {
    $("#myHiddenField").val(4);
    $("#form").submit(); 
}); 

ハードコードされた「4」を変数に置き換えたいと思います。

私はこれを試しました:

$("#button").click(function(i) { 
    $("#myHiddenField").val(i); 
    $("#form").submit(); 
}); 

しかし、それは機能せず、パラメーターを渡す方法がわかりませんi。コードのこのセクションの問題は何ですか?

私は4つの異なるボタンを持っています。ボタンごとに4つの機能クリックを作成したくありません。この場合i、どのボタンがクリックされたかを識別する隠しフィールドの値です。

4

5 に答える 5

0

属性を使用して一時的な値を保存し、後でアクセスできます。

// set value
$("#button").attr("temp", 4);
...
$("#button").click(function() { 
        $("#myHiddenField").val($(this).attr("temp")); 
        $("#form").submit(); 
}); 

グローバル変数を使用することもできますが、お勧めしません。

于 2013-02-18T13:48:16.273 に答える
0

どこから値を取得するかによって異なります。無名関数に渡されるのは、通常の変数ではなく、イベント オブジェクトです。代わりにこれを試してください:

$("#button").click(function(event) {

    var x = getValueFromSomewhere();

    $("#myHiddenField").val(x);
    $("#form").submit(); 
});

またはこれ:

var y = getValueFromSomewhere();

$("#button").click(function(event) {

    // The anonymous function can access variables from the outer scope.
    $("#myHiddenField").val(y);
    $("#form").submit(); 
});
于 2013-02-18T13:49:54.613 に答える