2017-06-13 17 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

'initChartist'だけでなく、最初の場所に' users'のコードが入っているのはなぜですか? –

+0

私はチャートで定義されているより多くの関数を持っています。 この関数は、1つのグラフに対してのみ使用できます。 –

答えて

2

、あなたは多分demoスコープにusersを移動する方が良いだろう、しかしそう

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

のように、あなたのコードを変更する必要がありますか?

関連する問題