gpt4 book ai didi

javascript - 我如何在 gridster 中获取单个 widget(li) JSON?

转载 作者:行者123 更新时间:2023-11-30 07:39:44 26 4
gpt4 key购买 nike

我正在尝试在第二个文本区域中获取单个小部件的 (li) JSON/位置。我尝试了很多方法来找到它,但它无法正常工作。

如果有人可以帮助我,我将与您分享我的代码。如果有人不知道 gridster,请找到下面的链接作为引用。 http://gridster.net/demos/serialize.html

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Respo Temp</title>

<link rel="stylesheet" type="text/css" href="css/style.css" />

<!-- Script -->
<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="js/custom.js"></script>


<script type="text/javascript" src="js/jquery.gridster.min.js"></script>
<script type="text/javascript">
var gridster;

$(function(){

gridster = $(".gridster ul").gridster({
widget_base_dimensions: [100, 100],
widget_margins: [5, 5],
helper: 'clone'
}).data('gridster');

//gridster.serialize();
$('.js-seralize').on('click', function() {
var s = gridster.serialize();
$('#log').val(JSON.stringify(s));
})


//gridster.serialize();
$('li').on('click', function($widget) {

var t = gridster.serialize();
$('#log_2').val(JSON.stringify(t));
})

});
</script>
</head>

<body>
<div id="wrapper">
<header id="header">Header</header>

<div id="main_container">
<textarea id="log" class="log"></textarea>
<button class="js-seralize">Serialize</button> <br/> <br/>

<textarea id="log_2" class="log"></textarea>
<button class="js-seralize_2">Serialize</button> <br/> <br/>

<div class="gridster">
<ul>
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1"><span class="box_no">1</span></li>
<li data-row="1" data-col="2" data-sizex="1" data-sizey="1"><span class="box_no">2</span></li>
<li data-row="1" data-col="3" data-sizex="1" data-sizey="1"><span class="box_no">3</span></li>

<li data-row="2" data-col="1" data-sizex="1" data-sizey="1"><span class="box_no">4</span></li>
<li data-row="2" data-col="2" data-sizex="1" data-sizey="1"><span class="box_no">5</span></li>
<li data-row="2" data-col="3" data-sizex="1" data-sizey="1"><span class="box_no">6</span></li>

<li data-row="3" data-col="1" data-sizex="1" data-sizey="1"><span class="box_no">7</span></li>
<li data-row="3" data-col="2" data-sizex="1" data-sizey="1"><span class="box_no">8</span></li>
<li data-row="3" data-col="3" data-sizex="1" data-sizey="1"><span class="box_no">9</span></li>
</ul>
</div>
</div>

</div>
</body>
</html>

最佳答案

首先你需要为每个元素一个唯一的ID

您可以使用插件的serialize_params 选项修改为每个元素存储的params 对象

gridster = jQuery(".gridster > ul").gridster({
/* other options*/
serialize_params: function ($w, wgd) {

return {
/* add element ID to data*/
id: $w.attr('id'),
/* defaults */
col: wgd.col,
row: wgd.row,
size_x: wgd.size_x,
size_y: wgd.size_y
}

}


})

然后当你选择一个项目时可以过滤gridster数据数组来定位当前的ID。我在这个例子中使用了 jQuery.grep()

  jQuery('.gridster ul li').click(function () {
var id=this.id;
var t = jQuery.grep(gridster.serialize(),function(item){
return item.id==id;
})
jQuery('#log_2').val(JSON.stringify(t));
})

DEMO

关于javascript - 我如何在 gridster 中获取单个 widget(li) JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20773418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com