如何从jquery中将下拉列表更改为另一个函数

时间:2013-03-14 19:15:35

标签: javascript jquery

这是我的代码

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

我想在功能

下发送VT的值
function xyz()
{
    a = V;
    b = T;
    alert(a);
    alert(b);
} 

在函数xyz中,我必须调用许多函数,所以我不想要它,它作为xyz函数的参数。那么当我选择一个下拉列表时,如何以另一种方式获取数据,然后它将显示警告(a和b)该值和下拉文本。

如何解决,请提出任何建议。

5 个答案:

答案 0 :(得分: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();
    });
});

答案 1 :(得分: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)
}

答案 2 :(得分: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);
} 

答案 3 :(得分: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

替换回调函数

DEMO

答案 4 :(得分:1)

从更改事件中调用xyz并在xyz中分配变量。

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

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

演示:http://jsfiddle.net/D48FY/