У меня есть выпадающем DropDownBox'е, который переплетен в videmodel с ЕогеаспомKnockoutJS изменение модели контролер
<td>
<input class='required' type="text" data-bind="value: muhasebekodu" id="muhasebekodu" /></td>
<td>
<select data-bind="options: gidertipleri, value: selectedOptionValue" onchange="SetCodeField(this.value);" id="muhcodes" name="muhcodess"></select></td>
И моделью, как этот
var self = null;
var viewModel = null;
$(document).ready(function() {
var giderlers = JSON.parse(document.getElementById('ContentPlaceHolder1_hdnOutgoingTypes').value);
var selectedGider = document.getElementById('ContentPlaceHolder1_hdnOutgoingTypesSelected').value;
var odemetipleri = JSON.parse(document.getElementById('ContentPlaceHolder1_hdnFirmPaymentTypes').value);
var selectedOdemeTipi = document.getElementById('ContentPlaceHolder1_hdnFirmPaymentTypesSelected').value;
var GiftModel = function (gifts) {
self = this;
self.gifts = ko.observableArray(gifts);
self.addGift = function() {
self.gifts.push({
muhasebekodu: ko.observable().extend({ notify: 'always' }),
gidertipleri: giderlers,
selectedOptionValue: ko.observable(selectedGider),
faturano: "",
matrah: "",
kdv: "",
geneltoplam: "",
kdvtipleri: ["0", "1", "8", "18"],
selectedOKDVptionValue: ko.observable("0"),
odemeseklitipleri: odemetipleri,
selectedOOSTptionValue: ko.observable(selectedOdemeTipi),
aciklama: "",
});
};
self.removeGift = function (gift) {
self.gifts.remove(gift);
};
self.save = function (form) {
alert("Could now transmit to server: " + ko.utils.stringifyJson(self.gifts));
// To actually transmit to server as a regular form post, write this: ko.utils.postJson($("form")[0], self.gifts);
};
};
viewModel = new GiftModel([
{ muhasebekodu: ko.observable().extend({ notify: 'always' }), gidertipleri: giderlers, selectedOptionValue: ko.observable(selectedGider), faturano: "", matrah: "", kdv: "", geneltoplam: "", kdvtipleri: ["0", "1", "8", "18"], selectedOKDVptionValue: ko.observable("0"), odemeseklitipleri: odemetipleri, selectedOOSTptionValue: ko.observable(selectedOdemeTipi), aciklama: "" },
]);
ko.applyBindings(viewModel);
// Activate jQuery Validation
//$("form").validate({ submitHandler: viewModel.save });
$(".faturanoinp").bind('keyup', function (e) {
$(this).val($(this).val().toUpperCase());
});
});
Я хочу установить мой вход muhasebekodu когда пользователь изменила выпадающий контроль на одном экране, я пишу ниже jscript. оно было изменено на новое значение в модели, но она не apearing по контролю
function SetCodeField(e) {
var mcode = document.getElementById('ContentPlaceHolder1_hdnmuhasebekodlari').value;
var mcodes = mcode.split(",");
for (i = 0; i < mcodes.length; i++) {
var namevalues = mcodes[i].split(":");
var name = namevalues[0];
var value = namevalues[1];
if (e == name) {
self.gifts()[self.gifts.length].muhasebekodu.value = value;
self.gifts()[self.gifts.length].muhasebekodu.extend({ notify: 'always' });
}
}
}
У меня есть 2 управления один из них изменился я хочу видеть на другой элемент управления всегда связанное приложении к ViewModel. self.gifts.XXX = 'новое значение'; я хочу увидеть это на переплетены управлениях
Спасибо Того self.gifts() [self.gifts() длина-1.]. muhasebekodu (значение); – dewelloper