将Click上的JSON字符串传递给Javascript标记

时间:2014-06-03 19:10:26

标签: javascript php jquery ajax json

我有一个while循环,它输出一组div,一个JSON字符串和一个< a >标记。当用户点击&lt; a&gt; while循环中每个单独输出的标记,我希望将该记录的JSON字符串($ json)传递给JSON var MapData = JSON STRING HERE(无需刷新页面)。以下是伪代码设置的示例:

While statement
$json = json_encode($items)
< a tag onclick='pass $json' >

JavaScript tag
var MapData = GET $JSON < A tag > CLICK AND DECODE HERE

我认为最好的方法是使用onclick函数或在a标签上设置id并使用Javascript / AJAX监听器来更新JSON并使用$ JSON但不知道如何执行此操作。请注意,我不能使用href将字符串传递到浏览器URL,因为我使用的是Bootstraps弹出模式,需要href =“#”

2 个答案:

答案 0 :(得分:0)

您可以创建一个JavaScript函数,并在每次单击时调用它

< a tag onclick='myFunction($json)' >

然后在你的javascript代码中,定义函数

function myFunction(json){
    /*do something*/
    // I believe you want to set a global variable MapData?
    // MapData = json;
}

答案 1 :(得分:0)

您可以使用Ajax,但如果json足够简单,您也可以使用数据元素。像这样:

<a class="myjson" href="#" data-json="$json">My Json</a>

JS

var MapData = MapData  || [];
$('.myjson').on('click', function(e){
    e.preventDefault();
    var json = $(this).data('json');
    MapData.push(json);
    console.log(json);

 });

这完全取决于您的项目以及哪种更适合您的设计......

相关问题