Javascript 将函数更改为用作onchange事件

Javascript 将函数更改为用作onchange事件,javascript,jquery,Javascript,Jquery,我为列表框组织提供了以下javascript功能: $("#organization").change(function(e) { //function updateOrganization() { organization = $("#organization").val(); indicator = $("#indicators").val(); funcid = "fill_chart_average_score"; //console.log('chan

我为列表框组织提供了以下
javascript
功能:

$("#organization").change(function(e) {
//function updateOrganization() {
    organization = $("#organization").val();
    indicator = $("#indicators").val();
    funcid = "fill_chart_average_score";

    //console.log('changed'); 
    $.getJSON('functions/getfunctions.php', {
        "organization":organization,
        "indicator":indicator,
        "funcid":funcid},

    function(dataChart) {

            var chart = AmCharts.makeChart("chartaveragescore", {
            "theme": "light",
            "type": "serial",
            "startDuration": 1,
            "dataProvider": dataChart,
            "rotate": false,
            "categoryField": "organisatie",
              "valueAxes": [ {
                "gridColor": "#FFFFF",
                "gridAlpha": 0.2,
                "dashLength": 0
              } ],
              "gridAboveGraphs": true,
              "startDuration": 1,
              "graphs": [ {
                "balloonText": "[[category]]: <b>[[value]]</b>",
                "fillColorsField": "fillcolor", //Dit veld heb ik meegegeven vanuit SQL functie en bevat de HEX kleurcodes BD
                "fillAlphas": 0.8,
                "lineAlpha": 0.2,
                "type": "column",
                "valueField": "score"
              } ],
              "chartCursor": {
                "categoryBalloonEnabled": false,
                "cursorAlpha": 0,
                "zoomable": false
              },
              "categoryAxis": {
                "gridPosition": "start",
                "gridAlpha": 0,
                "tickPosition": "start",
                "tickLength": 20
              },
              "export": {
                "enabled": true
              }

        },0);

    $('.chart-input').off().on('input change',function() {
        var property = jQuery(this).data('property');
        var target = chart;
        chart.startDuration = 0;

        });
    });
});
$(“#组织”).变更(职能(e){
//函数updateOrganization(){
组织=$(“#组织”).val();
指标=$(“#指标”).val();
funcid=“填写图表、平均分数”;
//console.log('changed');
$.getJSON('functions/getfunctions.php'{
“组织”:组织,
“指标”:指标,
“funcid”:funcid},
功能(数据图表){
var chart=AmCharts.makeChart(“chartaveragescore”{
“主题”:“光”,
“类型”:“串行”,
“起始持续时间”:1,
“数据提供者”:数据图表,
“旋转”:错误,
“类别字段”:“组织”,
“valueAxes”:[{
“网格颜色”:“#FFFFF”,
“gridAlpha”:0.2,
“dashLength”:0
} ],
“网格图”:没错,
“起始持续时间”:1,
“图表”:[{
“文本”:“[[category]]:[[value]]”,
“fillColorsField”:“fillcolor”,//Dit veld heb ik meeggeven vanuit SQL function en bevat de HEX kleurcodes BD
“填充字母”:0.8,
“lineAlpha”:0.2,
“类型”:“列”,
“valueField”:“分数”
} ],
“图表光标”:{
“CategoryBallooneEnabled”:false,
“cursorAlpha”:0,
“可缩放”:错误
},
“分类法”:{
“网格位置”:“开始”,
“gridAlpha”:0,
“滴答声位置”:“开始”,
“滴答声长度”:20
},
“出口”:{
“已启用”:真
}
},0);
$('.chart input').off().on('input change',function()){
var property=jQuery(this).data('property');
var目标=图表;
chart.startDuration=0;
});
});
});
这非常有效,但我现在想要的是创建一个函数,它不是基于
$(“#组织”).change(函数(e)
,而是创建一个类似
function updateOrganization()
的函数,并在
html
元素中的
onchange
中调用此函数。当我更改
$(“#组织”).change(函数)
使用
函数updateOrganization()
该函数不再工作


我是一名初学者。

您应该在块之外声明您的函数。类似于:

function updateOrganization() {
    organization = $("#organization").val();
    indicator = $("#indicators").val();
    funcid = "fill_chart_average_score";

    // ...
}
然后将其用作:

$("#organization").change(updateOrganization);

您应该在块外声明函数。类似于:

function updateOrganization() {
    organization = $("#organization").val();
    indicator = $("#indicators").val();
    funcid = "fill_chart_average_score";

    // ...
}
然后将其用作:

$("#organization").change(updateOrganization);

我认为您想在更改下拉列表时调用函数,并希望使用select标记的onchange事件来完成。这可能会对您有所帮助。

我认为您想在更改下拉列表时调用函数,并希望使用select标记的onchange事件来完成。这可能会对您有所帮助。

只需尝试
$(“#组织”)。更改(更新组织)
您是否有理由修改此代码以从事件属性开始工作?这将被视为代码结构的倒退。你好,Rory,我希望能够在listbox组织的
onchange
事件中调用两个函数。这就是原因。Rory,我已经遇到了问题:我有一个
);
当我将函数更改为
函数updateOrganization()
时,函数末尾太多了。现在它可以工作了:)只需尝试
$(“#organization”)。更改(updateOrganization)
您是否有理由修改此代码以从事件属性开始工作?这将被视为代码结构的倒退。你好,Rory,我希望能够在listbox组织的
onchange
事件中调用两个函数。这就是原因。Rory,我已经遇到了问题:我有一个
);
当我将函数更改为
函数updateOrganization()
时,函数末尾的函数太多了。现在它可以工作了:)我还可以调用
$(“#组织”).change(updateOrganization);
中的两个函数吗?我还可以调用
$(“#组织”).change(updateOrganization);
中的两个函数吗?