我是一个新的jquery / js用户,试图将参数从选择器传递给函数。以下是一些代码:
// function to select data
var data = [
{val: 10, year: 1990}, {val: 20, year: 1991}
]
var year_data = []
function select_year_data(y) {
year_data = data.filter(function(d) {return d.year==y})
}
//选择器
<select name="Year" id = "year_menu" style="width: 230px; position: absolute; left: 400px; top: 50px">
<option value=1990>1990</option>
<option value=1991>1991</option>
</select>
我想做的是这样的事情:
<onchange>select_year_data($('#year_menu.val()')
但我知道这不太对。
答案 0 :(得分:5)
可以在此使用Jquery更改方法Change()
$(function()
{
$('#year_menu').change(function(){
select_year_data($(this).val())
});
});
答案 1 :(得分:1)
function select_year_data() {
var y = $('#year_menu.val()';
year_data = data.filter(function(d) {return d.year==y})
}
答案 2 :(得分:1)
如果您将函数用作$.onchange的回调,那么您将始终根据变量year_data
上的用户选择选择数据
function select_year_data() {
var y = $(this).val();
year_data = data.filter(function(d) {return d.year==y});
}
// call that func on change event
$('#year_menu').change(select_year_data);
// or straight forward one without another function
$('#year_menu').change(function(){
var y = $(this).val();
year_data = data.filter(function(d) {return d.year==y});
});
// assuming year_data and data is declared in global scope.