3

これは私のコードです

$(function(){
    $('#dropdown_name').change(function(){
        var V = $('#dropdown_name').val();
        var T = $('#dropdown_name :selected').text();
    });
});

関数の下にVとの値を送信したいT

function xyz()
{
    a = V;
    b = T;
    alert(a);
    alert(b);
} 

関数xyzでは、多くの関数を呼び出さなければならないので、必要ありません。関数のパラメーターとして使用しxyzます。ドロップダウンを選択すると、その値とドロップダウンのテキストがアラート(aおよびb)に表示されるので、別の方法でデータを取得するにはどうすればよいですか。

それを解決する方法、提案をお願いします。

4

5 に答える 5

2

代わりにグローバル変数を使用できます。

function xyz()
{
    a = window.V;
    b = window.T;
    alert(a);
    alert(b);
} 

次のように関数を呼び出します。

$(function(){
    $('#dropdown_name').change(function(){
    window.V = $('#dropdown_name').val();
    window.T = $('#dropdown_name :selected').text();
    });
});
于 2013-03-14T19:17:26.447 に答える
1

パラメータとして渡したくない場合は、変数を使用するすべての関数で使用できるスコープで変数を定義する必要があります。

var V,T;
$(function(){
    $('#dropdown_name').change(function(){
    V = $('#dropdown_name').val();
    T = $('#dropdown_name :selected').text();
    xyz();
    });
});

function xyz(){
    alert(V); alert(T)
}
于 2013-03-14T19:22:02.630 に答える
1

グローバル値も使用できます

var V = ""; 
var T = "";
$(function(){
    $('#dropdown_name').change(function(){
        V = $('#dropdown_name').val();
        T = $('#dropdown_name :selected').text();
    });
});
I want to send V and T's value below function

function xyz()
{
    a = V;
    b = T;
    alert(a);
    alert(b);
} 
于 2013-03-14T19:23:26.537 に答える
1

folマークアップがある場合のように、変更時に匿名コールバックの代わりに関数を呼び出すことができます

<select>
    <option value=""> select </option>
    <option value="2">SO</option>
    <option value="3">google</option>
</select>

js

function callback(e){
    console.log($(e.target).val());

}

$(function(){
 $("select").change(callback);
});

コールバック関数を次のように置き換えることができますxyz

デモ

于 2013-03-14T19:24:17.533 に答える
1

change イベントから xyz を呼び出し、xyz に変数を割り当てます。

$("#dropdown_name").change(function() {
    xyz();
});

function xyz() {
    var a = $("#dropdown_name option:selected").val();
    alert(a);
}

デモ: http://jsfiddle.net/D48FY/

于 2013-03-14T19:24:34.037 に答える