gpt4 book ai didi

javascript - Dojo 拖放问题 : Convert Data in Target Container to JSON

转载 作者:行者123 更新时间:2023-11-28 09:54:12 33 4
gpt4 key购买 nike

我有两个 DND 容器,SourceContainer 和 TargetContainerSourceContainer 有一些 json 数据,例如:

Apple 
Orange
Banana

使用以下 Json:

var json = {"fruits": [
{"fruitId": 1, "fruitName": "Apple", "fruitDesc": "This is an Apple"},
{"fruitId": 2, "fruitName": "Orange", "fruitDesc": "This is an Orange"},
{"fruitId": 3, "fruitName": "Banana", "fruitDesc": "This is a Banana"}
]
};

var results="";
for(var i=0;i<json.fruits.length;i++){
results += '<div class="dojoDndItem ">' + '<span style="visibility: hidden">' + json.fruits[i].fruitId + '</span>' + json.fruits[i].fruitName + '</div>';
}

我的 SourceContainer

<div><label>Fruits</label></div> 
<div dojoType="dojo.dnd.Source" id="source1" copyonly="false" delay="8" class="container dojoDndSource dojoDndTarget dojoDndContainer">
<div dojoType="dojo.dnd.Source" ></div> results </div>

我的目标容器

<div><label>Basket</label></div>
<div dojoType="dojo.dnd.Source" id="source2" copyonly="false" descending="true" delay="8" class="container dojoDndSource dojoDndTarget dojoDndContainer">
<div dojoType="dojo.dnd.Source" ></div>
</div>

<button id="toJsonBtn" data-dojo-type="dijit.form.Button" type="button">ToJson</button>

现在,当我将“Apple”和Banana拖到TargetContainer并单击按钮时,我希望TargetContainer中的数据转换为Json。

有任何这样做的想法。感谢任何帮助。谢谢

注意:强制不使用 JQuery :(

最佳答案

我已经知道如何解决这个问题了。如果有人感兴趣的话,下面是解决方案;

我们的 Json

var json = {"fruits": [
{"fruitId": 1, "fruitName": "Apple", "fruitDesc": "This is an Apple"},
{"fruitId": 2, "fruitName": "Orange", "fruitDesc": "This is an Orange"},
{"fruitId": 3, "fruitName": "Banana", "fruitDesc": "This is a Banana"}
]
};

目标容器中的项目

Apple 
Orange
Banana

创建目标容器

var fruitListContainer = new dojo.dnd.Source("fruitNode");

dojo.connect(dojo.byId('toJsonBtn'), 'onclick', function() {
var target_container = fruitListContainer.getAllNodes();
var fruit_arr = [];
for(var i=0;i<target_container.length;i++){
var fruit_results = target_container[i].childNodes[0].nodeValue;
roles_arr.push(fruit_results);
}
var result={};
result["fruits"]=fruit_arr;
alert(JSON.stringify(result));

警报输出将是(这是必需的):

{"fruits":["Apple","Orange","Banana"]}

注意: 如果需要任何解释,我很乐意提供帮助。

关于javascript - Dojo 拖放问题 : Convert Data in Target Container to JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10399036/

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