使用多维 PHP 数组中的特定键作为 Javascript 变量 Jquery onClick

Use Specific Key from Multidimensional PHP Array As Javascript Variable Jquery onClick

我有一个多维 PHP 数组,其中每个内部数组的键是按钮的 ID,我将单击并实例化一个 jQuery 函数。

我基本上想根据单击的 Id 从 PHP 数组动态创建一个 javascript VAR 数组。这是数组:

$ContentGroupIds = array(
    43 => array( 511, 531, 567 ),
    54 => array( 483, 499, 509 )
);

所以你可以看到我有 ContentGroupId's: 43 and 54,每个指向 ContentId's 的数组。

当我点击 ContentGroupId = 43 的按钮时,我需要将 jquery 变量动态设置为如下所示:

var contentids = ['511','531','567'];

然后我可以在 jquery 函数的其余部分中使用那个 var

您可以使用 php json_encode[=10 将 php 数组转换为 javascript json =]

将 ContentGroupID 设置为按钮上的一个属性(使用 HTML 输出会有所帮助),然后使用 jQuery.

获取该属性

PHP/HTML:

<?php
    $ContentGroupIds = array(
        43 => array( 511, 531, 567 ),
        54 => array( 483, 499, 509 )
    );

    foreach( $ContentGroupIds as $item => $ids ){
        // Convert ID Array to string
        $attr = implode( ',', $ids );

        // Output: <a href="#" class="btn" attr-ids="511,531,567">Button #43</a>
        echo '<a href="#" class="btn" attr-ids="'. $attr .'">Button #'. $item .'</a>';
    }
?>

jQuery:

$('body').on('click', '.btn', function(){
    var str = $(this).attr('attr-ids'),  // str = "511,531,567"
        arr = str.split(',');     // arr = ['511','531','567']

    console.log(arr); // (3) [0:"511", 1:"531", 2:"567"]
});

功能代码段:

$('body').on('click', '.btn', function(){
    var str = $(this).attr('attr-ids'),
        arr = str.split(',');

    alert(arr);
});
/*CSS only to make the links more buttony*/a{display:inline-block;background:#0095ff;padding: 6px 18px;color:#fff;text-decoration:none;border:1px solid #07c;box-shadow:inset 0 1px 0 #66bfff;font-family:sans-serif;font-size:14px border-radius:3px;}a:hover{background: #0085ee;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="btn" attr-ids="511,531,569">Button #43</a>
<a href="#" class="btn" attr-ids="483,499,509">Button #54</a>