我对jQuery有问题,无法从jSon字符串获取每个值,并使用从jSon字符串获取的值修改div或span或其他id。
在每个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>
这是我的javascript文件中的我的(部分)代码,我叫我从隐藏的输入中获取json字符串:
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)每个标签未定义或2)每个label_xxx的label_xxx
我需要帮助来访问每个label_xxx的每个值。
我无法获取该值,这是我的最后尝试。
参考方案
我相信问题出在您的for in
循环中,您从未真正获取值,而仅是关键:
for (i in data_language) {
console.log("i in language = " + i);
language[j] = data_language[i]; //changed this line to actually grab the value
console.log("language[j] = " + language[j]);
$("#" + i).html(language[j]);
j++;
}
如果接收到undefined
,则可能是由于未正确解析JSON所致。由于使用的是jQuery,因此可以始终运行$.parseJSON(json)
以确保。
小提琴在for in
循环中访问JSON并记录:http://jsfiddle.net/tymeJV/CKBLc/1/
有人在this bug附近吗?echo json_encode(array('url'=>'/foo/bar')); {"url":"\/foo\/bar"} 我使用Zend_Json and Zend_Json_Expr以便我甚至可以在js对象中获取回调函数-但我无法获得…
PHP Count数组元素 - php嗨,有人可以解释为什么这会返回“数组由0个元素组成”。 :$arr = array(1,3,5); $count = count($arr); if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements.…
PHP:从函数返回值并直接回显它? - php这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…
PHP:将数据从二维数组复制到一维数组的最快方法 - php我有一个巨大的二维PHP数组,带有500万行。$t = [ [ "id" => 1, "name" => "foo" ], [ "id" => 2, "name" => "bar" ] ]; 现在,我必须将此数组的I…
php-printf和sprintf具有不同的输出 - php我编写了以下微型php程序来测试printf和sprintf:<?php $str_1 = printf("%x%x%x", 65, 127, 245); $str_2 = sprintf("%x%x%x", 65, 127, 245); echo $str_1 . "\n"; echo $s…