jSon文字列から各値を取得し、jSon文字列から取得した値でdivまたはspanまたはその他のIDを変更するjQueryに問題があります。
各PHPファイルの開始時に、SQLリクエストでjSon文字列を値として非表示の入力を生成します。これは多言語用です。たとえば英語では、生成された文字列は
<input type="hidden" id="page_json_language_home" value='{
"label_title":"My WebSite",
"label_settings":"Settings",
"label_subscription":"Subscription"
}' />
フランス語の場合:
<input type="hidden" id="page_json_language_home" value='{
"label_title":"Mon site web",
"label_settings":"Parametres",
"label_subscription":"Abonnement"
}' />
これはうまくいきます!
その後、jqueryを使用して各label_xxxを値と一致させるJavaScriptがあります
私はこのような多くのhtmlコードを持っています
<title id="label_title></title>
<div id="label_settings"></div>
また
<span id="label_subscription"></span>
これは、非表示の入力からjson文字列を取得するために呼び出したJavaScriptファイルの(部分的な)コードです。
var _getPageJsonLanguage = function(id) {
if (!id)
id = "page_json_language";
else
id = "page_json_language_" + id;
var json = $("#" + id).val();
var data = bsc.data.jsonParse(json);
return data;
};
これもうまくいきます!
問題のコードは次のとおりです。
data_language = bsc.page.getPageJsonLanguage("home");
var j = 0;
var language = [];
for (i in data_language) {
console.log("i in language = " + i);
language[j] = i;
console.log("language[j] = " + language[j]);
$("#" + i).html(language[j]);
j++;
}
結果はブラウザで取得できます 1) 各ラベルに対して undefined または 2) 各 label_xxx に対して label_xxx 各 label_xxx の各値にアクセスするには助けが必要です。
値を取得できません。これが最後の試行です....