Trong html, khi chúng ta click vào văn bản hoặc di chuột qua văn bản của một nút radio hoặc hộp kiểm, chúng tôi có thể chọn nó với html như hình dưới đây:nhãn Checkbox và Radio trong loại trực tiếp
<label>
<input type="checkbox" />option 1
</label>
HOẶC
<input id="checkboxid" type="checkbox" />
<label for="checkboxid">option 1</label>
tôi đang cố gắng để có được những hành vi tương tự với loại trực tiếp, nhưng không thể tìm thấy sự giúp đỡ nhiều vào giống nhau:
<label data-bind="text: $data.optiontext">
<input type="checkbox" data-bind="value: $data.optionvalue, checked: $parent.selectedOptions" />
</label>
The View (hoặc html) là dưới đây (Lưu ý mã dưới đây không chứa html ở trên, vì vậy khi bạn thử nó, bạn sẽ cần phải thực hiện những thay đổi trên và kiểm tra xem nó):
<div data-bind="foreach: options">
<input type="checkbox" data-bind="value: $data.optionvalue, checked: $parent.selectedOptions" />
<label data-bind="text: $data.optiontext"></label>
</div>
<hr />
<div data-bind="text: selectedOptionsList"></div>
Dưới đây là quan điểm mô hình:
var viewModel = {
options: [
{ optiontext: 'Simple', optionvalue: "1" },
{ optiontext: 'Advanced', optionvalue: "2" }
],
selectedOptions: ko.observableArray(["2"])
};
viewModel.selectedOptionsList = ko.computed(function() {
return this.selectedOptions().join(",");
}, viewModel);
ko.applyBindings(viewModel);
Dưới đây là liên kết jsFiddle: http://jsfiddle.net/rupesh_kokal/AFzbY/
Cảm ơn nemesv. Tùy chọn đầu tiên phù hợp nhất với nhiệm vụ của tôi. Phiên bản thứ hai sẽ không hoạt động trong trường hợp của tôi, vì tôi có các điều khiển hộp kiểm khác nhau, được tạo động và sẽ yêu cầu phải có một số cách năng động để gán một id duy nhất cho cùng. Có cách nào chúng ta có thể đạt được điều này với loại trực tiếp như tạo ra một id duy nhất mà loại trực tiếp chăm sóc của chỉ định? – Rups
Không có gì được xây dựng vào loại trực tiếp mà sẽ chăm sóc tạo ra và gán id duy nhất. Vì vậy, bạn cần phải thực hiện điều này cho mình: Một số câu hỏi SO về tạo id http://stackoverflow.com/questions/3231459/create-unique-id-with-javascript, http://stackoverflow.com/questions/105034/how- to-create-a-guid-uuid-in-javascript – nemesv
Cảm ơn nemesv, sẽ xem xét nó. – Rups