1
knockout.js가있는 라디오 버튼을 비활성화하려면 어떻게합니까? 나는 사용자가 그것을 선택할 수 있기를 원하지 않는다. 내 아래의 템플릿이 작동하지 않습니다.knockout.js로 라디오 버튼 비활성화
<div id="answers" data-bind="template: { name: 'answerTmpl', data: interactive.answers }">
</div>
<script id="answerTmpl" type="text/html">
{{each(index, value) $data}}
<div>
<input type="radio" value="${index}" name="Answer" data-bind="disable: app.viewModel.avatars.speaking, checked: app.viewModel.interactive.answerSelected"/> <span>${value}</span>
</div>
{{/each}}
</script>
은 당신이 명시 적으로 평가해야처럼 보이는, 당신은 전역 변수 대신 바운드 데이터를 사용하는 경우
(function (app, $, undefined) {
app.viewModel = app.viewModel || {};
app.viewModel.avatars = {
speaking: ko.observable(false),
loaded: ko.observable(false)
};
이
(function (app, $, undefined) {
app.viewModel = app.viewModel || {};
app.viewModel.interactive = {
timeout: 1500,
answers: ko.observableArray(),
answerSelected: ko.observable(''),
correctAnswer: ko.observable(-1),
bookPage: ko.observable(1),
chapterEmail: ko.observable(''),
trialogue: {
inProgress: ko.observable(false),
response: ko.observable(''),
conversation: ko.observableArray()
}
};
app.interactive.init = function() {
ko.applyBindings(app.viewModel);
};
그냥 avatars.speaking 또는 avatars.speaking()을 사용하십시오. 여기를보세요 http://knockoutjs.com/documentation/enable-binding.html – Aviatrix
이 작품은 저에게 적합합니다 : http://jsfiddle.net/E5aqu/ 예제를 간소화하고 관련 코드를 더 많이 포함 할 수 있습니까? – Douglas
jquery 템플릿을 사용하고 있습니다. 내 뷰 모델은 두 개의 서로 다른 js 파일로 구성됩니다. –