2014-02-20 3 views
0

Я использую jquery (JQwidgets) для отображения значений в сетке. У меня есть база данных с несколькими столбцами и позволяет сказать, что у меня в столбце A значение «http://www.google.com» и в столбце B значение «Google».jquery объединить два значения mysql

Что я хочу, так это отображать «Google» в сетке, и когда люди нажимают на него, он открывает URL-адрес.

Прямо сейчас у меня есть этот код, который получает переменные из базы данных.

 var source = 
     { 
      datatype: "json", 
      datafields: [ 
      { name: 'sitename', type: 'string'}, 
    { name: 'url', type: 'string'}, 
      ], 
      url: 'http://www.site.com/data.php', 
      cache: false 
     }; 

После этого значения отображаются с помощью этого ...

$("#jqxgrid").jqxGrid(
     { 
      pagesize : 25, 
      pagesizeoptions: ['25', '50', '100'], 
      width : 1170, 
      theme:"black", 
      source: dataAdapter, 
      pageable: true, 
      autoheight: true, 
      selectionmode: 'multiplecellsextended', 
      columns: [ 
      { text: 'Website', datafield: 'website' , width: 700, cellsrenderer: linkrenderer}, 
      ] 
     }); 

Так что я не могу работать, чтобы объединить эти два значения. Что я пробовал ...

 var website = function (row, datafield, value) { 
      return 'sitename' + 'url'; 
     } 

ответ

0

Вы не установили функцию linkrenderer.

Над ним, добавьте

var linkrenderer = function(row, column, value, defaultHtml, columnSettings, rowData) { 
    return '<a href="' + rowData.url + '">' + value + '</div>'; 
} 

В последней колонке ROWDATA является JSON объект все уже оказанной, поэтому, возможно, добавить столбцы

columns: [{text: 'URL', datafield: 'url' , width: 100}, {text: 'Website', datafield: 'sitename' , width: 700, cellsrenderer: linkrenderer}] 

скрытие столбца URL

$("#jqxgrid").jqxGrid('hidecolumn', 'url'); 
+0

Спасибо за ваш ответ. Тем не менее, это linkrenderer у меня есть ... - \t \t \t var linkrenderer = function (строка, столбец, значение) { if (value.indexOf ('#')! = -1) { value = value.substring (0, value.indexOf ('#')); } var format = {target: '"_blank" data-rokbox = ""'}; var html = $ .jqx.dataFormat.formatlink (значение, формат); return html; } – user2959441

+0

Он просто не выглядел так, как будто вы использовали столбец «веб-сайт», потому что он не находится в ваших данных в вашем источнике данных. Но если вы, то просто создайте отдельные столбцы (url и sitename) и используйте функцию cellrenderer, которую я предоставил. – weiver

+0

Спасибо, я получил его :) – user2959441

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