use*_*456 5 javascript function predefined-variables jquery-datatables
我在我的网络应用程序上使用DataTables插件为jQuery绘制表格.一切都正常.但其中一个选项是按详细信息按钮打开一个信息窗口,该窗口将包含其他值.现在该部分工作正常,但我的表是用类定义的,所以当用户使用菜单更改语言时,我可以动态地更改语言.
我得到的唯一的东西是英语,正如我在开始时所说的那样.
我预定义的表格:
function fnFormatDetails ( nTr )
{
var aData = oTable.fnGetData( nTr );
var sOut = '<table cellpadding="5" cellspacing="0" border="0" style="background-color:whitesmoke; padding-left:10%; padding-right:10%; width:100%">';
sOut += '<tr><td style="text-align:left"><span class="id_prog">ID Program : '+aData[0]+'</span></td><td style="text-align:left"><span class="id_in_perc">Increment : '+aData[3]+'</span></td></tr>';
sOut += '<tr><td style="text-align:left"><span class="id_var">Machine position : '+aData[1]+'</span></td><td style="text-align:left"><span class="id_tot_in_var">Total inc : '+aData[4]+'</span></td></tr>';
sOut += '<tr><td style="text-align:left"><span class="id_dti_var">DTI : '+aData[2]+'</span></td></tr>';
sOut += '</table>';
return sOut;
}
Run Code Online (Sandbox Code Playgroud)
当我更改语言并且我的javascript通过类名更改每个值时,没有任何反应,但对于我的其余代码,这工作正常,但对于此预定义表不会.任何的想法?
编辑
这是一个事件监听器:
$('#jphit tbody td img').live( 'click', function () {
var nTr = $(this).parents('tr')[0];
if ( oTable.fnIsOpen(nTr) )
{
/* This row is already open - close it */
this.src = "images/plus-icon.png";
oTable.fnClose( nTr );
}
else
{
/* Open this row */
this.src = "images/minus-icon.png";
oTable.fnOpen( nTr, fnFormatDetails(nTr), 'details' );
}
} );
Run Code Online (Sandbox Code Playgroud)
因此,当单击按钮时,我调用fnFormatDetails()函数,然后仅在设置时绘制它.因此,当我动态更改该表的值时,没有任何变化.
你需要更多细节吗?
如果我理解正确,您会尝试动态更改始终位于页面上的表格的内容。我不知道为什么你要把它放在你的 javascript 中,但当你使用 jQuery 时,我建议采用不同的方法。
这将在您的 html 文件中。
<table id="myTable">
<tr>
<td><span id="id1"><!-- content will load here --></span></td>
<td><span id="id2"><!-- content will load here --></span></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我会使用 id 而不是 class,因为这些值是唯一的。
并且用javascript来替换html标签的内容。
function fnFormatDetails ( nTr ) {
var aData = oTable.fnGetData( nTr );
$("#id1").html("My data here " + aData[0]);
$("#id2").html("My data here " + aData[1]);
...
}
Run Code Online (Sandbox Code Playgroud)
这会将指定 id 的标签的 html 内容替换为您指定为属性的内容。
我希望这对你有帮助。
| 归档时间: |
|
| 查看次数: |
720 次 |
| 最近记录: |