【发布时间】:2017-04-22 17:54:58
【问题描述】:
我有一个对象数组 (myData),其中包含类型为“内部”和“外部”的对象。
我正在从数组中的对象中创建 class="box" 的 div,并显示相应对象的一些信息。
我在 div.box 中有一个编辑按钮,只有当我的对象类型为 =“external”时。
单击编辑按钮后,我应该能够在包含输入字段的模式或弹出窗口中编辑数据。这些输入字段将显示数组中该特定对象的每个属性的值。 因此,单击编辑时,我想更新“myData”数组中该对象的信息(公司或网址)。另外,在显示的 div 中,我想显示更新的信息。
我如何做到这一点?
代码如下:
var myData = [{company: "ABC", url:"www.abc.com", type:"internal"},{company: "CDE", url:"www.cde.com", type:"internal"},{company: "DEF", url:"www.def.com", type:"external"},{company: "EFG", url:"www.efg.com", type:"internal"},{company: "FGH", url:"www.fgh.com", type:"external"}];
$('#createData').click(function(){
createDisplay();
});
function createDisplay(){
myData.forEach(function(obj){
$('.container').append(
$('<div>').addClass('box').append(
$('<label>').text('Company Website: '),
$('<a>').addClass('compUrl').attr('href', obj.url).text(obj.company),
obj.type =='external'? $('<br /><button>').addClass('.edit-btn').text('Edit'): ''
)
)
});
}
.box{
height: 100px;
background-color: skyblue;
border: 1px solid black;
margin-top: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<div class="container">
</div>
<button id="createData">Create divs</button>
【问题讨论】:
-
您打算如何编辑数据。通过显示输入而不是数据?
-
点击编辑会发生什么?
标签: jquery arrays object dom dynamic