将数组值从html传递到javascript

Posted

技术标签:

【中文标题】将数组值从html传递到javascript【英文标题】:Passing array value from html to javascript 【发布时间】:2014-07-02 05:45:33 【问题描述】:

注意:使用 Laravel 框架,但概念不应有太大差异。

如何将我的 $data['method']$data['id] 传递给 javascript

<div id="player" data-method=" $data['method'] " data-id=" $data['id'] "></div>

数据方法和数据ID通过控制器传递。

在我目前拥有的 javascript 中

var method = "<?php echo $data-id[]>";
var id = "<?php echo $data-method[]>";

这显然行不通

【问题讨论】:

为什么是echo $data-method[][] 通常用于将数据推送到数组。 【参考方案1】:

Jeffrey Way 提供了一个很好的插件来将变量传递给控制器​​中的 JavaScript:https://github.com/laracasts/PHP-Vars-To-Js-Transformer

【讨论】:

【参考方案2】:

获取方法:

var method = document.getElementById("player").getAttribute("data-method");

并获取 id:

var id = document.getElementById("player").getAttribute("data-id");

【讨论】:

【参考方案3】:

除了@chris97ong 的回答,如果你使用jQuery,那么你可以使用这样的构造:

var method = $('#player').data('method');
var id = $('#player').data('id');

但是如果你想直接将 id 和方法值粘贴到 javascript 中,那么使用:

var method = "<?php echo $data['id']>";
var id = "<?php echo $data['method']>";

完全像你自己的方式。

【讨论】:

【参考方案4】:

您可以将数组传递为

<?php
    $array = array("a","b","c","d");
    $json_str = json_encode($array);
?>
<a str='<?php echo $json_str; ?>' class="array_pass">Pass Value</a>

<script>
$(document).ready(function(e) 
    $(".array_pass").click(function() 
        var str = $(this).attr("str");
        var array = jQuery.parseJSON(str);
        alert(array[0]);
    );
);
</script>

【讨论】:

以上是关于将数组值从html传递到javascript的主要内容,如果未能解决你的问题,请参考以下文章

在 codeigniter 中,如何将数组值从控制器传递到同一视图页面?

将 char 数组值从 C++ 传递到 C# 应用程序

如何将:object 值从 html 传递到控制器

如何将值从 html 传递到 django 中查看?

将 Jquery 中的值从一个 html 类传递到 PhoneGap 中的另一个 html 类

通过使用 java 脚本,我如何将值从一个 html 页面传递到另一个 html 页面? [复制]