3
그래서 양식의 일부 div에 대한 가시성을 트리거하는 맞춤 knockout 체크 박스 바인딩을 사용하려고합니다. 왜 제대로 작동하지 않는지 알아내는 데 어려움을 겪고 있습니다. 초기 값이 설정되는 시점까지 도달했으나 다시 갱신되지는 않습니다. 내 문제는 내가 올바르게 확인란을 바인딩 할 수없는 것 같습니다.넉 아웃 체크 바인딩
나는 이것을 이해하는 데 도움이되는 바이올린을 가지고 있습니다. 로드 할 때 올바른 값을 설정하지만 이후의 클릭은 아무 것도하지 않습니다.
나는 너무 오랫동안 그것을 보았다.
var data = true;
ko.bindingHandlers.aipchecked = {
update: function(element, valueAccessor) {
var options = valueAccessor();
alert(options.value());
if (options.value()) {
$(options.checked).slideDown('fast', function() { });
$(options.unchecked).slideUp('fast', function() { });
} else {
$(options.checked).slideUp('fast', function() { });
$(options.unchecked).slideDown('fast', function() { });
}
options.value(options.value())
//ko.bindingHandlers.checked.update(element, options.value);
}
};
var viewModel = {
control:[
{
checked: '#one',
unchecked: '',
value: ko.observable(true)
}
]
};
viewModel.control[0].value(data);
ko.applyBindings(viewModel);
html로
<div data-bind="foreach: control">
<input type="checkbox" data-bind="aipchecked:{value: value,checked:checked,unchecked:unchecked}" />
<label data-bind="text: value"></label>
</div>
<div id="one">testing</div>
http://jsfiddle.net/gdefilippi/SuAYR/8/
V/R, 제프리 코드에서가는
뭔가 : http://jsfiddle.net/robertrozas/N92LJ/ – Hackerman
감사 로버트, 뭔가 내게있어 내가 일을 생각합니다. http://jsfiddle.net/gdefilippi/cam2d/5/ 정확히 왜 그런지 모르겠지만 제대로 작동하는 것 같습니다. – gdefilippi
원래 링크 된 바이올린에있는 문제는'checked' 대신에'value' 바인딩을 사용하고있었습니다 ... div에 대한 스타일링 중점을 변경하여 [yields this] (http://jsfiddle.net/origineil/SuAYR/9/). – Origineil