मैं div
एस की संख्या बनाना चाहता हूं जिसे मैं स्थानांतरित और आकार बदल सकता हूं, और एक सरणी में किसी ऑब्जेक्ट में width
, height
आदि को बांध सकता हूं। इसलिए, अगर मैं छह divs बनाता हूं, तो मेरे पास मेरी सरणी में छह ऑब्जेक्ट हैं, प्रत्येक ऑब्जेक्ट में .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 को 'शैली' बाध्यकारी के माध्यम से ऑब्जेक्ट से मान सेट करने के लिए बाध्य किया जाता है और ड्रैगिंग या आकार बदलने के माध्यम से अपडेट ट्रैक करने के लिए 'ईवेंट' बाध्यकारी का उपयोग करता है। http://jsfiddle.net/rniemeyer/a6Gjs/ –
आपका उत्तर पार्क जवाब से बाहर निकल गया था। मैं वास्तव में इसकी सराहना करता हूं। –
एलओएल कोई पन इरादा नहीं है। –