0
knockout을 사용하는 기존 코드를 수정하고 있는데 어떻게 작동하는지 잘 모르겠지만 일부 테스트 후에 데이터 바인딩이 datepicker에서만 작동하는 것처럼 보입니다. 하루가 선택되었을 때. 나는 daypicker showButtonPanel에서 "완료"버튼을 클릭하면 요일을 숨기고 바인딩하려고합니다.datepicker 값의 숨겨진 날짜가 더 이상 전달되지 않습니다. (Knockout)
아무도 도와 줄 수 있습니까? 여기
내가 완전히 내 솔루션을 이해하지 못하는 내 모델var viewModel = function(previousaddress){
var self = this;
var action;
var id;
self.PREVIOUS_ADDRESS=ko.observable('');
self.PREVIOUS_POSTCODE=ko.observable('');
self.FROM_DATE=ko.observable();
self.TO_DATE=ko.observable();
self.addresses=ko.observableArray(previousaddress);
self.addPreviousAddress = function(formElement) {
var newPreviousAddress = new PreviousAddress(
self.PREVIOUS_ADDRESS(),
self.PREVIOUS_POSTCODE(),
self.FROM_DATE(),
self.TO_DATE()
);
var validate_function;
if(self.action == 'new'){
validate_function = function(data){
data = $.parseJSON(data);
if(data){
newPreviousAddress.ID = data.insert_id;
self.addresses.push(newPreviousAddress);
}else{
//error
}
};
}else if(self.action == 'update'){
newPreviousAddress.ID = self.id;
validate_function = function(data){
data = $.parseJSON(data);
if(data){
newPreviousAddress.ID = data.update_id;
self.addresses.remove(function(item) {return item.ID == data.update_id});
self.addresses.push(newPreviousAddress);
}else{
//error
}
};
}
validate(newPreviousAddress, validate_function, 'previous-address-add', self.action);
$('#myModal').modal('hide');
self.PREVIOUS_ADDRESS('');
self.PREVIOUS_POSTCODE('');
self.FROM_DATE();
self.TO_DATE();
};
self.updateAction = function(){
self.action = 'new';
};
self.editPreviousAddress = function (care) {
self.action = 'update';
self.id = care.ID;
$('#myModal').modal('show');
self.PREVIOUS_ADDRESS(care.PREVIOUS_ADDRESS);
self.PREVIOUS_POSTCODE(care.PREVIOUS_POSTCODE);
self.FROM_DATE(care.FROM_DATE);
self.TO_DATE(care.TO_DATE);
};
};
를/focusout 이벤트를 사용하여 모델을 업데이트 할 수 있습니까? –
$ (this) .change()도 작동합니다. 요소에는 .datepicker 클래스가 있어야하며, 그 밖의 요소는이를 손상시킵니다. – liamfriel