0
我是初學者knockoutJS和ASP.net MVC。KnockoutJS沒有綁定數據
一切工作正常在本地機器上,但由於我上傳腳本knockoutJS綁定在某些情況下不工作,我已經嘗試了很多,但未能解決。現在我需要你的幫助球員。 如果你看到這個URL(http://www.cepinceleme.com/Phone/Samsung-Galaxy-J5)評分系統被加載(我使用knockoutJS綁定這些值),因爲每個設計或特性或性能都是5.0,這是完全有價值的。但是當你評價它時,任何值都會改變爲不完整的東西,例如5.3或7.2它將通過knockoutJS綁定到頁面加載。
這裏是一個示例(http://www.cepinceleme.com/Phone/Samsung-Galaxy-S6)其中評分系統在頁面加載時不使用knockoutJS綁定值。
代碼如下
<script type="text/javascript">
function AppViewModel() {
var self = this;
self.MobileId = ko.observable(7413);
self.TotalVotes = ko.observable(4);
self.DesignVal = ko.observable(8,75);
self.FeatureVal = ko.observable(8,75);
self.PerformanceVal = ko.observable(8,375);
var DesignPercentage = 8,75
self.percentageDesign = ko.observable('<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="' + (DesignPercentage * 10) + '" aria-valuemin="0" aria-valuemax="100" style="width:' + (DesignPercentage * 10) + '%">' +(DesignPercentage.toFixed(1)) + '</div>');
var FeaturesPercentage = 8,75
self.percentageFeatures = ko.observable('<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="' + (FeaturesPercentage * 10) + '" aria-valuemin="0" aria-valuemax="100" style="width:' + (FeaturesPercentage * 10) + '%">' + (FeaturesPercentage.toFixed(1)) + '</div>');
var PerformancePercentage = 8,375
self.percentagePerformance = ko.observable('<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="' + (PerformancePercentage * 10) + '" aria-valuemin="0" aria-valuemax="100" style="width:' + (PerformancePercentage * 10) + '%">' + (PerformancePercentage.toFixed(1)) + '</div>');
self.Thanks = ko.observable("");
self.designvalues = ko.observableArray(["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]);
self.designSelectedValue = ko.observable("5");
self.featuresvalues = ko.observableArray(["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]);
self.featuresSelectedValue = ko.observable("5");
self.performancevalues = ko.observableArray(["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"]);
self.performanceSelectedValue = ko.observable("5");
self.vote = function() {
var mydata = { id: self.MobileId(), totalVotes: self.TotalVotes(), voteDesign: self.designSelectedValue(), voteFeatures: self.featuresSelectedValue(), votePerformance: self.performanceSelectedValue() }
self.save(mydata);
self.Thanks("Thanks for voting");
self.hasClicked(true);
};
self.hasClicked = ko.observable('False' != 'False');
self.save = function (mydata) {
$.post('/PhoneSingle/VoteSave', mydata, function (data) {
self.TotalVotes(self.TotalVotes() + 1);
var newDesignValue = ((self.DesignVal() + parseFloat(self.designSelectedValue()))/2.0).toFixed(1)
var newFeaturesValue = ((self.FeatureVal() + parseFloat(self.featuresSelectedValue()))/2.0).toFixed(1)
var newPerformanceValue = ((self.PerformanceVal() + parseFloat(self.performanceSelectedValue()))/2.0).toFixed(1)
self.percentageDesign('<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="' + (newDesignValue * 10) + '" aria-valuemin="0" aria-valuemax="100" style="width:' + (newDesignValue * 10) + '%">' + newDesignValue + '</div>');
self.percentageFeatures('<div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="' + (newFeaturesValue * 10) + '" aria-valuemin="0" aria-valuemax="100" style="width:' + (newFeaturesValue * 10) + '%">' + newFeaturesValue + '</div>');
self.percentagePerformance('<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="' + (newPerformanceValue * 10) + '" aria-valuemin="0" aria-valuemax="100" style="width:' + (newPerformanceValue * 10) + '%">' + newPerformanceValue + '</div>');
});
};
}
var viewModel = AppViewModel();
ko.applyBindings(viewModel);
設計值:8.7
特徵值:8.7
性能值:8.3
非常感謝您的幫助。
哦,謝謝,我沒有注意到這一點。似乎更新到託管服務器從開發機器弄亂這些記錄。再次感謝 –