【发布时间】:2014-01-19 08:32:41
【问题描述】:
我看到的所有示例都是针对页面上显式编写的 DOM 元素。在我的情况下,我使用淘汰赛 foreach 在我的可观察数组中创建项目列表:
<div class="tab-pane fade" id="recruiting">
<input type="text" data-bind="value: selectedOrgKey" id="orgSectionId" onchange="FlipOrgView()" style="visibility: hidden;" />
<ul class="list-unstyled" data-bind="foreach: orgs">
<li data-bind="attr: { id: 'orgSection' + orgId}" class="orgSection">
我目前正在使用一个 kludgy 解决方案,通过使用隐藏元素上的 onchange 来获取 id 并 .show() 它。
window.OrgDdlUpdated = function () {
$(".orgSection").hide();
var selectedOrgId = $('#orgDropDown').val();
//alert(selectedOrgId);
flipOrgView(selectedOrgId);
};
var flipOrgView = function (id) {
$('#orgSection' + id).show();
};
这在技术上是第一次有效,但是当我翻阅这一切时,选定的 id 落后于它显示先前选择的位置,而不是当前选择。我知道有多种方法可以实现这一点,所以淘汰赛或其他方式,我如何使用淘汰赛 foreach 方法正确切换对象数组的可见性?
【问题讨论】:
标签: javascript jquery arrays knockout.js