2016-08-01 15 views
0

テーブルに複数のレコードがあります。シナリオをクリックして行をクリックすると、IDに応じてグラフが表示されます。このオーナーがこのデータを持つように指定したいので、オーナー名を表示します。 。テーブルからセルの値を選択

私は、テーブル内のデータを持っている:

ID  Owner RegNo 
26626 John B82  
26634 David BE49 
26642 Roh A5  
26640 Julie B5  

私はこの試みた:私はF12を確認したときに、これはエラー

を示し

<script type="text/javascript"> 

    $(function() { 
     $('#tabledata').on('click', 'tr', function() { 
      var row = $(this); 
      var Id = row.find('td')[0].firstChild.data; 
      var cell = row.find('td')[1].firstChild.data; 
      var obj = {}; 
      var cellvalue = {}; 
      obj.ID = Id; 
      cellvalue.cell = cell; 
      GetData(obj); 
      return false; 
     }); 
    }); 
function GetData(obj) { 
    $.ajax({ 
     type: "POST", 
     url: "WebForm1.aspx/GetVo", 
     data: JSON.stringify(obj), 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     async: true, 
     cache: false, 
     success: function (result) { 
        if (result !== null && result.length == 0) { 
       $("#cont").hide(); 
       return; 
      } 
      strArray = result.d; 
      var myarray = eval(strArray); 
      $("#cont").show(); 
      $('#cont').highcharts({ 
       chart: { 
        borderColor: 'Grey', 
        borderWidth: 2, 
        type: 'pie', 
        options3d: { 
         enabled: true, 
         alpha: 45 
        } 

       }, 

       title: { 
        text: JSON.stringify(cellvalue) 
       }, 

       position: { 
         align: 'right', 
         verticalAlign: 'bottom', 
         x: 10, 
         y: -10 
        }, 
       subtitle: { 
        text: 'Chart' 
        //text: 'Total: ' + myarray.length 
       }, 


       plotOptions: { 
        pie: { 
         innerSize: 100, 
         depth: 45, 
         allowPointSelect: true, 
         cursor: 'pointer', 
         dataLabels: { 
          enabled: true, 
          format: '<b>{point.name}</b>: {point.y}', 
         }, 
         showInLegend: true 
        } 
       }, 
       series: [{ 
        name: 'Delivered amount', 
        data: myarray 
       }] 
      }); 

      //end 
     }, 
     error: function (error) { 
      alert(error); 
     } 

    }); 
     } 

    // }); 


    </script> 

WebForm1.aspx:109 Uncaught ReferenceError: cellvalue is not defined

+0

あなたcellvalueはラインのスコープではありません: 'テキスト:あなたは'のGetData(OBJ)にcellvalueを渡すことができJSON.stringify(cellvalue) ' –

+0

; '' GetData(obj、cellvalue); ''とします。 –

+0

しかし、この関数をGetData(obj、cellvalue)と呼ぶと、GetData(obj)関数も呼び出さなければなりません。これを呼び出す必要はありません。私は行を選択してから所有者を取得したいだけですラベルのセルの値 – user6628729

答えて

0

あなたが定義を呼び出し、機能機能変更:

<script type="text/javascript"> 

    $(function() { 
     $('#tabledata').on('click', 'tr', function() { 
      var row = $(this); 
      var Id = row.find('td')[0].firstChild.data; 
      var cell = row.find('td')[1].firstChild.data; 
      var obj = {}; 
      var cellvalue = {}; 
      obj.ID = Id; 
      cellvalue.cell = cell; 
      GetData(obj, cellvalue); //HERE 
      return false; 
     }); 
    }); 
function GetData(obj, cellvalue) { //AND HERE 
    $.ajax({ 
     type: "POST", 
     url: "WebForm1.aspx/GetVo", 
     data: JSON.stringify(obj), 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     async: true, 
     cache: false, 
     success: function (result) { 
        if (result !== null && result.length == 0) { 
       $("#cont").hide(); 
       return; 
      } 
      strArray = result.d; 
      var myarray = eval(strArray); 
      $("#cont").show(); 
      $('#cont').highcharts({ 
       chart: { 
        borderColor: 'Grey', 
        borderWidth: 2, 
        type: 'pie', 
        options3d: { 
         enabled: true, 
         alpha: 45 
        } 

       }, 

       title: { 
        text: JSON.stringify(cellvalue) 
       }, 

       position: { 
         align: 'right', 
         verticalAlign: 'bottom', 
         x: 10, 
         y: -10 
        }, 
       subtitle: { 
        text: 'Chart' 
        //text: 'Total: ' + myarray.length 
       }, 


       plotOptions: { 
        pie: { 
         innerSize: 100, 
         depth: 45, 
         allowPointSelect: true, 
         cursor: 'pointer', 
         dataLabels: { 
          enabled: true, 
          format: '<b>{point.name}</b>: {point.y}', 
         }, 
         showInLegend: true 
        } 
       }, 
       series: [{ 
        name: 'Delivered amount', 
        data: myarray 
       }] 
      }); 

      //end 
     }, 
     error: function (error) { 
      alert(error); 
     } 

    }); 
     } 

    // }); 


    </script> 
+0

とは何ですか? " – user6628729

+0

私はチェックしています。私が解決策を見つけたら教えてくれます。 –

+0

あなたはstringifyを使用しています、多分それはあなたが ""得ているかもしれません。 json.stringifyではなく、変数を直接使用できますか? –

関連する問題