注意:使用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[]>";
哪个显然不起作用
答案 0 :(得分:4)
获取方法:
var method = document.getElementById("player").getAttribute("data-method");
获得身份证明:
var id = document.getElementById("player").getAttribute("data-id");
答案 1 :(得分:1)
除了@ 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']>";
完全像你自己的方式。
答案 2 :(得分:0)
Jeffrey Way提供了一个很好的插件,可以将变量传递给控制器中的JavaScript:https://github.com/laracasts/PHP-Vars-To-Js-Transformer
答案 3 :(得分:0)
您可以将数组作为
传递<?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>