Tôi đang xây dựng giao diện người dùng quyền, tôi có một danh sách các quyền với một danh sách chọn bên cạnh mỗi quyền. Các quyền được đại diện bởi một mảng đối tượng có thể quan sát được liên kết với một danh sách chọn:
<div data-bind="foreach: permissions">
<div class="permission_row">
<span data-bind="text: name"></span>
<select data-bind="value: level, event:{ change: $parent.permissionChanged}">
<option value="0"></option>
<option value="1">R</option>
<option value="2">RW</option>
</select>
</div>
</div>
Bây giờ vấn đề là thế này: sự kiện thay đổi được đưa ra khi giao diện người dùng mới xuất hiện lần đầu tiên. Tôi gọi hàm ajax của mình, lấy danh sách quyền và sau đó sự kiện được nêu ra cho từng mục quyền. Đây thực sự không phải là hành vi mà tôi muốn. Tôi muốn nó chỉ được nâng lên khi người dùng thực sự chọn ra một giá trị mới cho quyền trong danh sách lựa chọn , làm cách nào tôi có thể làm điều đó?
select
phần tử. Tuy nhiên, ngay cả khi giá trị ban đầu của lựa chọn khớp với một trong các tùy chọn, nó vẫn kích hoạtchange
sự kiện. Khi tôi triển khaiif
khối đơn giản này trong trình xử lý, mọi thứ hoạt động như mong đợi. Hãy thử phương pháp này trước. Cảm ơn, @Sarath!