使用Jquery事件处理程序遍历PHP数组

时间:2018-01-28 09:45:15

标签: php jquery html

背景
我有一个带有内部PHP处理脚本的HTML表单,该脚本采用复选框类别并将它们转换为传递给glob()函数的图像的目录位置字符串。

情况:
我有一个来自glob函数的图像src路径数组 例如

$p = pwd
$dst = "c:/tmp/testdir"

Get-ChildItem -Path $p | Where-Object  {
    $_.PSIsContainer -eq $false
} | ForEach-Object {
    $newdir = Join-Path -Path $dst -ChildPath ($_.LastWriteTime).ToString("yyyy-MM-dd")
    if (!(Test-Path -Path $newdir)) {
        Write-Host "Create directory $newdir"
        New-Item -Path $newdir -ItemType Directory
    }
    Write-Host "Copy file $_"
    Move-Item -Path $_ -Destination $newdir
}

我想附加点击和键盘事件来循环遍历$ images数组
例如

<?php
  $images //ARRAY OF IMG SRC PATHS
?>

3 个答案:

答案 0 :(得分:1)

首先,我将PHP逻辑分开:

<强> images.php

<?php
    //some logic here
    echo json_encode($images);
?>

您的javascript:

$(#img_viewer).click(function(){
    $.ajax({
    url: 'images.php',
    type: 'post',
    dataType: 'json',
    success: function(response){
        $.each( response, function( key, value ) {
                //in [value] is your src of images
        });
        }
    });
}

答案 1 :(得分:1)

为什么不尝试这个

item

答案 2 :(得分:-2)

首先将PHP图像数组转换为Javascript数组

<?php $php_array = array(//images); $js_array = json_encode($php_array); echo "var javascript_array = ". $js_array . ";\n"; ?>

并设置反击

var counter = 0;

然后

$(document).ready(function(){ $(document).click(function(){ console.log(javascript_array[counter]); counter++;});