使用var作为属性id的javascript/jQuery
我想在我的代码中使用翻译,它们来自PHP/MySql,并转换为javascript数组:使用var作为属性id的javascript/jQuery,javascript,jquery,jquery-ui-dialog,Javascript,Jquery,Jquery Ui Dialog,我想在我的代码中使用翻译,它们来自PHP/MySql,并转换为javascript数组: var translate = <?= json_encode($Object->translate);?>; var translate=; 翻译可用Javascript(已测试) 现在,我想在Javascript代码中使用它们,例如Jquery UI对话框: $("#logoff").click(function(){ var action = "logoff";
var translate = <?= json_encode($Object->translate);?>;
var translate=;
翻译可用Javascript(已测试)
现在,我想在Javascript代码中使用它们,例如Jquery UI对话框:
$("#logoff").click(function(){
var action = "logoff";
var btnLogoff = translate["dialog/buttonLogoff"]; // this gives the translation from the array
var btnCancel = translate["dialog/buttonCancel"]; // this gives the translation from the array
$("#dialog").dialog(
{
title: translate["dialog/titleLogoff"],
modal: true,
resizable: false,
buttons: {
btnLogoff : function() {
var loadUrl = "includes/_ajax/actions.ajax.php";
$.post(loadUrl,{action:action}, function(data) {
if(data)
location.reload();
});
$( this ).dialog( "close" );
},
btnCancel: function() {
$( this ).dialog( "close" );
}
}
}
);
$("#dialog").html("<span class='ui-icon ui-icon-alert' style='float: left; margin: 0 7px 20px 0;'></span>" + translate["dialog/textLogoff"]);
});
$(“#注销”)。单击(函数(){
var action=“注销”;
var btnLogoff=translate[“dialog/buttonLogoff”];//这给出了数组的转换
var btnCancel=translate[“dialog/buttonCancel”];//这给出了数组的转换
$(“#对话框”)。对话框(
{
标题:翻译[“对话/标题登录”],
莫代尔:是的,
可调整大小:false,
按钮:{
btnLogoff:function(){
var loadUrl=“includes/_ajax/actions.ajax.php”;
$.post(loadUrl,{action:action},函数(数据){
如果(数据)
location.reload();
});
$(此).dialog(“关闭”);
},
btnCancel:函数(){
$(此).dialog(“关闭”);
}
}
}
);
$(“#dialog”).html(“+translate[“dialog/textLogoff”);
});
问题在于属性btnLogoff没有显示翻译的文本,而是显示它自己(“btnLogoff”)
在最后一节中,translate[“dialog/textLogoff”]按原意进行翻译。我显然做错了什么事。我可以使用变量作为属性id吗?如何使用?我认为您没有充分使用jQuery.dialog API。看 尝试使用按钮配置的“文本”属性:
$("#dialog").dialog(
{
title: translate["dialog/titleLogoff"],
modal: true,
resizable: false,
buttons: [
{
text : btnLogoff,
click : function() {
var loadUrl = "includes/_ajax/actions.ajax.php";
$.post(loadUrl,{action:action}, function(data) {
if(data)
location.reload();
});
$( this ).dialog( "close" );
}
}
,
{
text : btnCancel,
click: function() {
$( this ).dialog( "close" );
}
}
]
}
);
你能给我们看一堆相关的
translate
array吗?除了缺少的那一个]完美之外,它完成了任务!我最初在PHP页面中有这段代码,并使用javascript中的PHP内联调用翻译。现在,想要将javascript移动到一个单独的文件中,我遇到了这个问题。再也不要访问jQueryUI对话框文档了。谢谢