传递Javascript数据属性数组值

时间:2017-07-12 16:01:32

标签: javascript php jquery arrays

我有一个像这样的$ myArray

的php数组
Array ( 
     [0] => Array ( 
            [Fruit] => Apple 
            [Number] =>
               Array (
                 [0] => 1
                 [1] => 2
                 [2] => 3
               )

            [supplier] =>
              Array ( 
                [0] => Store 1 
                [1] => Store 2 
                [2] => Store 3 
              )
            [description] => 
              Array (
                [0] => SAmple text for apple
                [1] => Sample text for apple 2
                [2] => Sample text for apple 3
             )
     [1] => Array ( 
            [Fruit] => Orange 
            [Number] =>
               Array (
                 [0] => 7
                 [1] => 8
                 [2] => 9
               )

            [supplier] =>
              Array ( 
                [0] => Store 4 
                [1] => Store 5 
                [2] => Store 6 
              )
            [description] => 
              Array (
                [0] => SAmple text for orange
                [1] => Sample text for orange 2
                [2] => Sample text for orange 3
             ))

我使用for循环传递来自此数组的值,只需按一下按钮即可打开javascript数据属性。

I am looping though all the entries in my array like this 

for($index=0; $index < count($myArray); $index++){

 <!--some code here -->

 <button type="button" class="open-modal btn btn-primary" data-first-fruit="'.$myArray[$index]["description"][0]

这将苹果存储为&#39;首先描述&#39;

在我的javascript函数中打开模态我将数据传递给我在代码中创建的div。

$("#descriptiondiv").html($(this).data("first-description"));

这可以正确显示苹果。

但我会处理大量数据并保存下面的值

data-first-description="'.$myArray[$index]["description"][0]
data-second-description="'.$myArray[$index]["description"][1]
data-third-description="'.$myArray[$index]["description"][2]

不理想

每次我传递如下数据

 data-first-description="'.$myArray[$index]["description"]

我得到一个数组到字符串转换错误。

有没有办法可以将整个[&#34;描述&#34;]数据传递给数据属性?

1 个答案:

答案 0 :(得分:0)

这似乎是php(虽然问题没有标记为php)。

如果是这样,您可以json_encode()将数组传递给数据属性,jQuery data()将其作为javascript数组读取。

使用单引号包装输出以避免html中的不匹配

data-fruit=\''. json_encode($array) . '\''