2013-11-27 38 views
0

我有一个哈希值“c_failures_all”,其中包含一些值,我使用jquery从变量“selVal”的下拉列表中捕获所选项目的值。这个“selVal”将作为我的哈希键。问题是selVal是一个jQuery变量,如果做如何在轨道哈希中使用jQuery变量作为键

c_failures_all[selVal] 

抛出一个错误 “未定义的局部变量或方法`selVal”为#<#:0x15484300>”

c_failures_all = {"Amount"=>[5, 4, 8, 7, 6], "Lookup"=>[10, 85, 56, 23, 10], "Advantage"=>[9, 5, 40, 12, 3]} 
<script> 
     $("#error_error_id").on('change', function(){ 
     //alert('f') 
     var selVal = $("#error_error_id").val(); 
     if(selVal == "All" || selVal == '') 
     { 
      options.series = [{name: 'All', data: <%= c_failures_arr %>}] 
     } 
     else 
     { 
      options.series = [{name: 'D', data: <%= c_failures_all[selVal] %>}] 
     } 
     var chart = new Highcharts.Chart(options); 
    }); 
    </script> 

回答

1
在JS

,你可以创建一个数组访问它稍后在红宝石:

<script> 
    var arrayFailures = <%= c_failures_arr.to_json %>; 
    $("#list").on('change', function(){ 
      var selVal = $("#list").val(); 
      if(selVal == "All" || selVal == '') 
      { 
       options.series = [{name: 'All', data: arrayFailures[selVal] }] 
      } 
      else 
      { 
       options.series = [{name: 'other', data: [4,7,9,6,2]}] 
      } 
      var chart = new Highcharts.Chart(options); 
     }); 
<script> 

我还没有测试过,告诉我它是否正常工作。

+0

路易斯其不工作,好友有什么办法可以追踪arrayFailures [selVal]返回什么值? – Prem

+0

工作......谢谢兄弟.....我犯了一个愚蠢的错误 – Prem

+0

不客气! –