이것은 Knockout.js로 할 수 있습니다. KO는 반드시 jQuery를 대신하는 것이 아니라 모델 및보기 바인딩 (예 : VMMV)을 지원하는 상위 레이어입니다. jQuery는 여전히 애니메이션에 적합하며 가장 중요한 것은 AJAX 호출입니다. 당신이하고있는 일에 따라, KO와 jQuery는 매우 잘 어울릴 수 있습니다.
KO는 머리를 감싸기가 어려울 수 있지만, 일단하면, 정말 멋지고 특정 일을 죽게 만듭니다. 당신은 요일을 클릭하고 표시 할 경우 예를 들어, 난 그냥 섹션을 달려 드는 : 최대한 빨리 물건을 체크 시작으로
http://codepen.io/CWSpear/pen/IbkvJ
을 아무것도 선택하지 있다면, 아무것도 표시되지 않습니다,하지만, 무슨 일을 보여줍니다 (예 : Weekly on Thursday
).
JavaScript는 몇 줄에 불과합니다. 마법은 바인딩입니다 :
각 입력은이 선택 될 때, 그들은 자동적으로 ko.observeableArray
내의 ViewModel에있는 days
변수에 추가 얻을 것이다 의미 data-bind="checked: days"
속성을 가지고 있습니다. 즉, 해당 확인란을보고 있다는 의미이며, 변경 사항이 발생하면 즉시 해당 확인란을 선택합니다.
우리의 summary
변수는 ko.computable
(계산 가능)입니다. 이 속성의 속성은 data-bind="text: summary, visible: days().length > 0"
입니다. 즉 days
이 비어 있지 않거나 텍스트가 "Weekly on [weekly on list [days
]"으로 정의 된 경우에만 표시됩니다.