2017-06-13 51 views
1

我想用按钮调用函数。 但是这个函数位于数组中的另一个函数中。在数组中的函数中调用函数

demo = { 
    volej: function(param) { 
     (new initChartist).users(param); 
    }, 
    initPickColor: function(){ 
     $('.pick-class-label').click(function(){ 
      var new_class = $(this).attr('new-class'); 
      var old_class = $('#display-buttons').attr('data-class'); 
      var display_div = $('#display-buttons'); 
      if(display_div.length) { 
      var display_buttons = display_div.find('.btn'); 
      display_buttons.removeClass(old_class); 
      display_buttons.addClass(new_class); 
      display_div.attr('data-class', new_class); 
      } 
     }); 
    }, 

    initChartist: function(){ 
    function users(cas) { 
      $.post("getUsersReg.php", {datum: cas}, function(datas) { 
      var casy; 
      if(cas == "Rok") { 
       casy = ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; 
      } else if(cas == "Mesic") { 
       casy = ['1. Týždeň', '2. Týždeň', '3. Týždeň', '4. Týždeň', 'Zbytek měsíce']; 
      } else if(cas == "Den") { 
       casy = ['Pon', 'Út', 'St', 'Čt', 'Pá', 'So', 'Ne']; 
      } 
    } 
     var data = { 
      labels: label, 
      series: [uzivatelu] 
     }; 
     /*data = { 
      labels: [mesice[3], mesice[5]], 
      series: [ 
       [1, 2] 
      ] 
      };*/ 

     var options = { 
      seriesBarDistance: 10, 
      axisX: { 
       showGrid: true 
      }, 
      height: "245px" 
     }; 

     var responsiveOptions = [ 
      ['screen and (max-width: 640px)', { 
      seriesBarDistance: 5, 
      axisX: { 
       labelInterpolationFnc: function (value) { 
       return value[0]; 
       } 
      } 
      }] 
     ]; 

     Chartist.Bar('#chartActivity', data, options, responsiveOptions); 
     }); 
    } 
} 
} 

我使用此代码调用它:

<button onClick="demo.initChartist().users('Now');">Date</button> 

如何开始从该的onClick功能?

预先感谢您的回复!

+0

为什么首先在'users'里面的代码,而不是直接在'initChartist'中? –

+0

因为我会在那个定义图表的函数中有更多的函数。 此功能仅适用于一个图表。 –

回答

2

为了调用函数,只要你想,你必须改变你的代码,像这样

initChartist: function(){ 
    function users(cas) { 
    $.post("getUsersReg.php", {datum: cas}, function(datas) { 
     var casy; 
     if (cas == "Rok") { 
     casy = ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; 
     } else if(cas == "Mesic") { 
     casy = ['1. Týždeň', '2. Týždeň', '3. Týždeň', '4. Týždeň', 'Zbytek měsíce']; 
     } else if(cas == "Den") { 
     casy = ['Pon', 'Út', 'St', 'Čt', 'Pá', 'So', 'Ne']; 
     } 
    }  
    } 

    return { users: users }; 
} 

然而,也许会更好移动usersdemo范围是什么?