मैं नॉकआउटज का अध्ययन कर रहा हूं और कुछ समस्याएं हैं। मेरे पास एएसपी.नेट एमवीसी पेज है जिसमें तीन कार ऑब्जेक्ट्स की विधि लौटने वाली सूची JSON है। मैं इसे HTML दृश्य में select
पर मैप करने के बजाय और चयन चयन पर किसी चयनित कार की लागत प्रदर्शित करना चाहता हूं। समस्या यह है कि एक कार का नाम दिखाई देता है जबकि कीमत नहीं होती है ('एक मर्सिडीज-बेंज लागत।')। यह क्या हो सकता है? अग्रिम में धन्यवाद! नियंत्रक:नॉकआउटज बाध्यकारी ऑब्जेक्ट्स समस्या
public class Car
{
public string Make { get; set; }
public decimal Price { get; set; }
}
public JsonResult GetCars()
{
List<Car> cars = new List<Car>();
cars.Add(new Car { Make = "Mercedes-Benz", Price = 103000 });
cars.Add(new Car { Make = "Toyota", Price = 37000 });
cars.Add(new Car { Make = "Huyndai", Price = 17000 });
return Json(cars, JsonRequestBehavior.AllowGet);
}
और जावास्क्रिप्ट कोड के साथ देखें:
<head>
<script type="text/javascript" src="~/Scripts/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="~/Scripts/knockout-3.0.0.js"></script>
<script type="text/javascript">
$(document).ready(function() {
function Car(data) {
this.Make = ko.observable(data.Make);
this.Price = ko.observable(data.Price);
}
function CarsViewModel() {
var self = this;
//Data
self.someOptions = ko.observableArray([]);
self.myOption = ko.observable();
//Operations
self.initData = function() {
$.get('/Home/GetCars', function (data) {
var mappedCars = $.map(data, function (item) { return new Car(item) });
self.someOptions(mappedCars);
});
}
}
ko.applyBindings(new CarsViewModel());
});
</script>
</head>
<body>
<div>
<button data-bind="click: initData">Load data</button>
<h4>Preview</h4>
<p>
<select data-bind="options: someOptions, optionsText: 'Make', value: myOption"></select><br />
A <span data-bind="text: myOption().Make"></span> costs <span data-bind="text: myOption().Price"></span>.
</p>
</div>
</body>
स्पष्टीकरण के लिए धन्यवाद! – IDeveloper