我想创建一个可以移动和调整大小的div
,并将它们的width
,height
等绑定到数组中的对象。所以,如果我创建六个div,我的阵列中有六个对象,每个对象都有.width
,.height
等。如何绑定div宽度/高度以形成字段?
我不太了解如何将输入和跨度文本绑定到数组对象属性knockout.js。这里是我的尝试:
var counter = 0;
var objects = [];
$(document).ready(function() {
dostuff($("#main")); // give it a target container div
});
function dostuff(target) {
counter++;
// create a div containing a span and an input that binds to knockout.js
target.append('<div id="d' + counter + '">width:<span id="d' + counter +
'" data-bind="text:objects[' + counter + '].width"></span>' +
'<input type="text" id="d' + counter +
'" data-bind="value:objects[' + counter + '].width"/></div>');
var a = $("#d" + counter);
a.css("position", "absolute");
a.css("width", "100px");
a.css("height", "100px");
a.css("background-color", "#" +
Math.ceil(Math.random()*9) + "0" +
Math.ceil(Math.random()*9) + "0" +
Math.ceil(Math.random()*9) + "0");
a.resizable({
stop: function (e, ui) {
this.childNodes[2].value = ui.size.width;
}
});
objects[counter] = { width: "100px", height: "100px",
top: "0px", left: "0px" };
ko.applyBindings(objects[counter]);
}
我该如何获得objects[1].width
绑定到div D1的<input>
价值?
下面是绑定的一种快速示例,其中div通过'style'绑定绑定,用于设置对象的值并使用'event'绑定通过拖动或调整大小来跟踪更新。 http://jsfiddle.net/rniemeyer/a6Gjs/ – 2011-04-10 19:27:54
你的答案是一个敲出公园的答案。我真的很感激。 – 2011-04-11 02:38:14
大声笑没有双关语意。 – 2011-04-11 03:23:21