我正在构建一个权限UI,我有一个权限列表,每个权限旁边都有一个选择列表。权限由绑定到选择列表的可观察对象数组表示:
<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>
现在的问题是这样的:当UI首次填充时,将引发change事件。我调用ajax函数,获取权限列表,然后为每个权限项引发事件。这真的不是我想要的行为。我希望仅当用户确实在选择列表中为权限选择了新值时才引发它,我该怎么做?
select
元素的键传递。但是,即使select的初始值与选项之一匹配,它仍会触发change
事件。当我if
在处理程序中实现此简单块时,一切都按预期工作。首先尝试此方法。谢谢@萨拉斯!