2016-08-01 6 views
0

У меня есть несколько записей в таблице. Сценарий, когда я нажимаю на строку, тогда график отображается в соответствии с идентификатором. Теперь я хочу указать, у какого владельца есть эти данные, поэтому для этого я пытаюсь отобразить имя владельца. .Выберите значение ячейки из таблицы

у меня есть данные в таблице:

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

Я попытался это:

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

когда я проверяю f12 это показывает ошибку

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

+0

Ваш CellValue не в области видимости строки: 'текст: JSON.stringify (CellValue)' –

+0

Вы можете передать CellValue в 'GetData (OBJ) ; 'как' 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. –

Смежные вопросы