3

这是我的代码

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

我想发送VandT的值低于函数

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

在 Functionxyz中,我必须调用许多函数,所以我不想要,它作为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 回答