2013-03-14 35 views
3

這是我的代碼如何獲得下拉變化值從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)該值和下拉文本。

如何解決它,請任何建議。

+1

你不想因爲你調用其他函數的值作爲參數傳遞給函數?這有什麼意義?我沒有看到任何理由*不是*將它們作爲參數傳遞。這將是最好的解決方案。 – 2013-03-14 19:18:20

回答

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

您可以使用全局變量來代替:

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

可以使用全局值也

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); 
} 
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

1

呼叫XYZ和XYZ中的變量分配。

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

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

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

相關問題