我有一个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 =“#”
答案 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);
});
这完全取决于您的项目以及哪种更适合您的设计......