使用淘汰赛根据下拉列表中选定的值隐藏/显示问题

2023-12-02

好吧,我是一个淘汰赛菜鸟。很难解决一个非常简单的问题。我有一个与淘汰的 observableArray 相关的下拉列表。还有一个与另一个 observableArray 相关的问题列表。问题应根据下拉列表的选定值隐藏/显示。

在查看小提琴之前,请阅读以下内容。
我对“EnvId() === 1”进行了硬编码,只是为了使其工作。我已经尝试了各种函数和 ko.compulated (在“问题”和“viewModel”中)将“1”替换为“CurrentEnviron()”之类的东西,但已将它们从小提琴中删除,因为我不想要影响任何人的答案。好的,这是fiddle.

我发现了很多其他问题REALLY很接近,但又足够不同,以至于我无法使用答案。抱歉,如果确实有重复项,我只是使用了错误的搜索词而找不到它。


为了能够使用该选项绑定,您需要确保还应用了value绑定到它来标记哪个项目被选中。然后你可以使questionsarray 一个计算的可观察量,将根据所选值返回一组经过过滤的问题。

Environment Type: <select id="qEnv" data-bind="value: selectedEnvironment, options: envTypes, optionsCaption: 'Select...', optionsValue: 'envId', optionsText: 'envName'"></select>

还要确保使用您创建的映射数组初始化可观察数组。大学教师 不要像你那样更换它们。 (尽管在本例中这并不重要,因为数组没有被修改)

function viewModel() {
    var self = this;

    // initialize the array with the mapped array
    self.envTypes = ko.observableArray(ko.utils.arrayMap(environments, function(item) {
        return {
            envName: item.Text,
            envId: item.EnvId
        };
    }));

    // this tracks our selected environment value
    self.selectedEnvironment = ko.observable();

    // return a filtered array where the items match the selected environment
    self.questions = ko.computed(function () {
        return ko.utils.arrayFilter(quests, function (item) {
            return item.EnvId == self.selectedEnvironment();
        });
    });
}

您可能希望根据问题数组是否为空来显示问题或消息,因此您必须调整测试。

data-bind="if: questions().length"

环境有重复EnvId值,所以我更新了这些值并添加了optionsCaption绑定以增加效果。

更新了小提琴

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用淘汰赛根据下拉列表中选定的值隐藏/显示问题 的相关文章

随机推荐

  • Android 纹理文本

    如何制作带有纹理而不是文本颜色或渐变的文本 例如 png 文件 就像是this 我理解逻辑 我应该使文本颜色透明并放在文本位图下方 我想我无法通过Textview 我不知道如何使用画布或 OpenGL 来做到这一点 有什么想法吗 这是一种使
  • 颠覆错误“无法读取状态行”是什么意思?

    这是一个相当基本的问题 但它让我发疯 我在 beanstalk com 上建立了一个全新的存储库 他们给了我网址 http my name svn beanstalkapp com blog 他们还会在存储库中自动创建标签 主干和分支文件夹
  • 奇怪:无法改变jni中Integer的值

    我用C编写了一个jni函数来设置两个java Integer对象的值 就像这样 jni do something JNIEnv env jobject thiz jobject p1 jobject p2 jclass c jfieldID
  • PHP:获取小数位数

    有没有一种直接的方法来确定 PHP 中整数 双精度值的小数位数 也就是说 不使用explode str 1 23444 print strlen substr strrchr str 1
  • JavaScript 中 && 简写的解释

    使用 jQuery 的水印插件 我尝试 jslint 并最小化函数 但我遇到了以前从未见过的语法 其中存在确实应该有赋值或函数调用的表达式 function fn watermark function css text return thi
  • Neo4j 2 Cypher 模糊搜索

    我正在使用 Neo4j 2 REST API 并且能够添加插件 我的数据库中有一个实体 其标签为 实体 名称为 英国 如何执行模糊搜索来查找该实体 我希望能够使用以下查询找到它 United Kingdom 英国 英国 So the
  • 如何禁用 Nuxt3 默认加载指示器?

    我已经查看文档和谷歌搜索很长时间了 由于某种原因 我似乎无法弄清楚如何禁用默认的 Nuxt3 加载指示器 有谁知道如何处理这个问题 当我刷新 路径上的页面时 它只会出现一瞬间 因此页面显示的是index vue页面 附上图片以供参考 尝试设
  • 如何使用与主脚本在同一文件中定义的 Moose 类?

    以下脚本p pl工作正常 use feature qw say use strict use warnings use lib use P1 my obj P1 gt new name gt John say The name is obj
  • Rmarkdown 中使用 apsrtable 的多个 lm() 模型表

    Goal 呈现使用创建的多个模型的结果lm 函数 一起放在一个格式良好的表格中 该表将在 Rmd 文件中生成并输出到 PDF 文档 建议的解决方案 In 使用 R 和 RStudio 进行可重复的研究 有一个例子使用apsrtable 并排
  • 为 java ejb Web 服务启用 https

    我正在使用 ejb 3 和 glassfish 3 1 1 开发一个网络服务 我正在使用 Netbeans 7 0 想知道如何为此 Web 服务在端口 8181 上启用 https 我不需要任何身份验证方法 只需通过 https 保护通信即
  • 使用 bootstrap 时模态不显示

    每当我按下按钮时 模式就不会显示 我尝试了很多事情 甚至创建了一个 custom js 来将此代码放入 myModal modal show 但就是不行 我哪里做错了 这是代码
  • 如何在 Inno Setup 中制作一个按钮或文本,单击时打开网页

    如何在 Inno Setup 安装程序中制作一个按钮或文本 单击时会打开一个网页 要打开网页 请使用 procedure OpenBrowser Url string var ErrorCode Integer begin ShellExe
  • 具有高级绘图函数的多个绘图,尤其是plot.rqs()

    我正在尝试并排绘制两个回归摘要和一个居中标题 每个回归摘要由以下方式生成plot rqs 总共有 9 个地块 我尝试过使用par mfrow c 1 2 已经 但正如我从 Paul Murrel 2006 的书中了解到的 高级函数如plot
  • 向 app.config 添加了新的应用程序设置,但 MSI 不会安装它(不会覆盖)

    我们最近向旧版 winforms 应用程序 Net 4 6 1 的 app config 日志服务器的 URL 添加了新的应用程序设置 不是用户设置 旧版本是 1 0 3 我们将所有程序集的版本更改为 1 0 4 并在安装项目 Visual
  • 我的 Android 应用程序在 Play 商店中显示与 Android 4.4.4 Moto E 不兼容

    我的 Android 应用程序在 Google Play 商店中显示与 Android 4 4 4 Moto E 不兼容 我尝试了很多方法 请问如何解决这个问题 你能帮我一下吗 提前致谢 如果您使用 Google Maps 那么为了支持 M
  • 您可以重命名“选项”标签吗? (Chrome 扩展)

    我试过这个 https developer chrome com extensions options html并制作了一个选项页面 因此 在我的扩展图标下添加了一个选项 名称为Option 我的问题是有没有办法重命名Option并改变它像
  • 将多个列表写入 csv Python

    我正在尝试编写一个将多个列表写入单个 csv 文件的函数 并且我能够获取要写入的列标题 但无法获取任何数据 我的数据位于与此类似的列表中 92 3801 2 22 4 第二个是 3 0 2 23 5 我正在寻找有关此的指导 谢谢你 impo
  • 如何编写批处理文件来切换网络适配器?

    在我的工作中 有一个可以连接的公司内部网 以及一个 Wifi 网络 但是 公司政策规定我们不能在一台计算机上同时连接到两个网络 不过 我需要在不同的时间使用任一网络 而我能够做到这一点的唯一方法是转到 控制面板 的 网络 部分中的 更改适配
  • 为什么 time.sleep 不能像打印结束参数一样工作?

    我正在尝试使用 time sleep 在打印语句之间暂停 import time def test print something end time sleep 1 print and end time sleep 1 print some
  • 使用淘汰赛根据下拉列表中选定的值隐藏/显示问题

    好吧 我是一个淘汰赛菜鸟 很难解决一个非常简单的问题 我有一个与淘汰的 observableArray 相关的下拉列表 还有一个与另一个 observableArray 相关的问题列表 问题应根据下拉列表的选定值隐藏 显示 在查看小提琴之前