使用jquery访问smarty多维数组值

时间:2012-08-07 08:56:12

标签: php jquery smarty

我有一个从php传递的数组,看起来像:
$resultsArr[123]['A']='q';
$resultsArr[123]['B']='d';
$resultsArr[113]['C']='s';
$resultsArr[113]['A']='ss';
$resultsArr[113]['B']='sd';
$resultsArr[111]['C']='sds';
$resultsArr[111]['A']='vv';
$resultsArr[111]['B']='vv';

我需要使用jquery访问此数组的某些值。

我正试图像访问它一样 keyVal = 123; //dynamically generated
var pri ='〜$ results ['keyVal'] ['B']`'

但我在变量'pri'中得到一个空白值 怎么解决这个问题?

2 个答案:

答案 0 :(得分:1)

你能不能将它转换为JSON数组,然后直接在Javascript中使用它,而不是挑选出数组的各个元素?

<script>

    var myArray = <?php echo json_encode($resultsArr); ?>;

</script>

然后使用jQuery each读取数组。

这将为您提供更大的灵活性,从长远来看,javascript可用于阅读和操作。

修改

你可以阅读这样的特定元素,这将是alert“vv”:

<script>
    var myVar = myArray[111].A;
    alert(myVar);
</script>

答案 1 :(得分:0)

在php中使用:

$ ResultsArr = json_encode($ resultsArr);

$ this-&gt; jsonResultsArr = $ ResultsArr; //看起来好像使用了smarty。

在javascript中

jsonResultsArr =“〜$ jsonResultsArr`”;

requireValue = jsonResultsArr [111] .A;