Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery数据表中的转换按钮_Javascript_Jquery_Datatable - Fatal编程技术网

Javascript JQuery数据表中的转换按钮

Javascript JQuery数据表中的转换按钮,javascript,jquery,datatable,Javascript,Jquery,Datatable,我有这个数据表: 如您所见,每行有2个按钮,如下所示: columns:[ { data:"numPoliza" }, { data:"primaAnual", render:$.fn.dataTable.render.number(',', '.',0,'',' €') }, { data:"producto" }, { data:"mediador" },

我有这个数据表:

如您所见,每行有2个按钮,如下所示:

columns:[  
   {  
      data:"numPoliza"
   },
   {  
      data:"primaAnual",
      render:$.fn.dataTable.render.number(',', '.',0,'',' €')
   },
   {  
      data:"producto"
   },
   {  
      data:"mediador"
   },
   {  
      data:"fechaEfecto",
      "render":function(data){  
         var locale = $locale.id; 
         return (moment(data).isValid()) ? moment(data).locale(locale).format("L"):"-"         ;
      }
   },
   {  
      data:"estado"
   },
   {  
      data:"varPlan",
      "defaultContent":"<a href='' class='btn btn-default' style='width: 100%'><i>Ver condiciones</i></a>"
   },
   {  
      data:null,
      "defaultContent":"<a href='' class='btn btn-default' style='width: 100%'><i>Ver detalles</i></a>"
   }
]
列:[
{  
数据:“numPoliza”
},
{  
资料:“原始”,
render:$.fn.dataTable.render.number(“,”,“,”,“,”,0,,“€”)
},
{  
数据:“producto”
},
{  
数据:“mediador”
},
{  
数据:“Fechaeto”,
“呈现”:函数(数据){
var locale=$locale.id;
返回(矩(数据).isValid())?矩(数据).locale(语言环境).format(“L”):“-”;
}
},
{  
数据:“estado”
},
{  
数据:“varPlan”,
“defaultContent”:”
},
{  
数据:空,
“defaultContent”:”
}
]
现在,我想做的是把这个按钮翻译成我们webapp中的3种可用语言(西班牙语、葡萄牙语和英语)。我试图传递一个“data translate='XXX'”参数,但没有成功。我也尝试过修改atribute的语言,也不行

AFAIK有一个内部数据表来实现这一点,但提供的示例不适合我的按钮,因为它们是以HTML方式创建的

你能帮帮我吗?谢谢:)

--进度报告--

正如我一直在研究的那样,使用(而不是defaultContent)是这里的关键。我试图返回一个基于当前区域设置的函数,但我不确定渲染函数是如何工作的


感谢您的努力。

解决了,这肯定不是最经典的方法,但在我们执行一些优化之前,必须这样做。为了帮助他人,我这样做:

{  
   data:"varPlan",
   "orderable":false,
   "searchable":false,
   "render":function(){  
      var locale = $locale.id; 
      if (locale === 'es'){  
         return "<a href='' id='terms' class='btn btn-default' style='width:100%'><i>Ver condiciones</i></a>"
      }else if (locale === 'pt-pt')      {  
         return "<a href='' id='terms' class='btn btn-default' style='width:100%'><i>Ver condições</i></a>"
      }else{  
         return "<a href='' id='terms' class='btn btn-default' style='width:100%'><i>Show terms</i></a>"
      }
   }
}
{
数据:“varPlan”,
“可订购”:错误,
“可搜索”:错误,
“呈现”:函数(){
var locale=$locale.id;
如果(语言环境=='es'){
返回“”
}else if(locale=='pt'){
返回“”
}否则{
返回“”
}
}
}
  • 替换了defaultContent(顾名思义,它仅作为静态值AFAIK)

  • 使用了一个具有“render”属性的函数,该函数根据活动区域设置返回具有不同HTML值的按钮

  • 冲洗并重复


您需要自己使用变量,而不是硬编码textHi@charlietfl,谢谢您的帮助。我对Datatables很陌生,您能详细说明一下您的评论/回答吗?:)