通过jQuery的PHP数组遍历? [英] Iterating through a PHP array in jQuery?

查看:165
本文介绍了通过jQuery的PHP数组遍历?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何通过jQuery的PHP数组循环?我有PHP中的数组名为 $ viewfields
我如何通过使用jQuery这个数组中的每个元素迭代?

修改1

 < PHP的foreach($ viewfields为$视图):??>如果(小于?= $视图['属性'] ['型'];?> =='文本'||< = $视图['属性'] ['型'];?> = ='编号')
 {
     $(<输入ID =输入< = $视图['属性'] ['sequence_no'];>类型=文本的风格=?'宽度:< = $视图['属性'] [ '大小'];?> PX数据ATTR =< = $视图['属性'] ['型'];?>>< /输入>< BR>中)appendTo(。 #fb_contentarea_col1down21#< = $视图['属性'] ['sequence_no'];?>中);
 }

如果我给

  $。每个(arrayfromPHP,功能(我,ELEM){}

我怎么写code在jQuery的$视图['属性'] ['类型']?
ELEM ['属性'] [型]将不工作,我想?

编辑2

ELEM ['属性'] ['类型']确实工作


解决方案

  VAR arrayFromPHP =<?PHP的回声json_en code($ viewFields)取代;$。每个(arrayFromPHP,功能(我,ELEM){
    //做你的东西
});

要更好地理解事情是如何连接在一起(感谢乔纳森·桑普森):

 <!DOCTYPE HTML>< HTML和GT;
< HEAD>
<脚本类型=文/ JavaScript的>
VAR arrayFromPHP =<?PHP的回声json_en code($ viewFields)取代;$。每个(arrayFromPHP,功能(我,ELEM){
    //做你的东西
});
< / SCRIPT>
< /头>
<身体GT;< /身体GT;
< / HTML>

您可以不管你想要的网页,或者你甚至可以引用 SCRIPT 标记当然地方 arrayFromPHP 从外部脚本为 arrayFromPHP 被声明为全局的。

修改

鉴于这种PHP数组:

  $ viewFields =阵列(
    '属性'=>阵列(
        '型'=> '富',
        标签= GT; '酒吧',
    )
    '属性'=>阵列(
        '型'=> '富',
        标签= GT; '酒吧',
    )
);

访问与jQuery的元素将这样进行:

  // json_en code()将输出:
// {属性:{类型:富,标签:酒吧}}$。每个(arrayFromPHP,功能(我,ELEM){
    警报(elem.type);
    警报(elem.label);
});

How do I iterate through a PHP array in jQuery? I have an array in php named $viewfields. How do I iterate through each element of this array using jQuery?

EDIT 1

<?php foreach ($viewfields as $view): ?>           

if(<?=$view['Attribute']['type'];?>=='text'||<?=$view['Attribute']['type'];?>=='number')
 { 
     $("<input id=input<?=$view['Attribute']['sequence_no'];?> type= 'text' style= 'width:<?=$view['Attribute']['size'];?>px' data-attr=<?=$view['Attribute']['type'];?> ></input><br>").appendTo("#fb_contentarea_col1down21 #<?=$view['Attribute']['sequence_no'];?>");
 }

If i give

$.each(arrayfromPHP,function(i,elem){

}

how do I write the code for $view['Attribute']['type'] in jQuery? elem['Attribute']['type'] won't work I suppose?

EDIT 2

elem['Attribute']['type'] does work

解决方案

var arrayFromPHP = <?php echo json_encode($viewFields) ?>;

$.each(arrayFromPHP, function (i, elem) {
    // do your stuff
});

To better understand how the things are wired together (thanks Jonathan Sampson):

<!DOCTYPE html>

<html>
<head>
<script type="text/javascript">
var arrayFromPHP = <?php echo json_encode($viewFields) ?>;

$.each(arrayFromPHP, function (i, elem) {
    // do your stuff
});
</script>
</head>
<body>

</body>
</html>

You can of course place that SCRIPT tag wherever you want in the page, or you can even reference arrayFromPHP from external scripts as arrayFromPHP is declared as global.

EDIT

Given this PHP array:

$viewFields = array(
    'Attributes' => array(
        'type'  => 'foo',
        'label' => 'bar',
    ),
    'Attributes' => array(
        'type'  => 'foo',
        'label' => 'bar',
    ),
);

Accessing its elements with jQuery would be done like this:

// json_encode() will output:
// {"Attributes":{"type":"foo","label":"bar"}}

$.each(arrayFromPHP, function (i, elem) {
    alert(elem.type);
    alert(elem.label);
});

这篇关于通过jQuery的PHP数组遍历?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆