javascript - knockout : Alert based on property of list of objects on select option

标签 javascript data-binding knockout.js

我知道这是一个简单的改变,但尽管研究和尝试了很多事情,我仍然无法实现它。我是 knockout 的新手。 我有一个对象列表 Payors 的选择选项,它具有 IsValueChecked bool 属性。

<select name="InsuranceId" data-bind="options:Payors , 
                                      optionsValue: 'Id', 
                                      optionsText: 'Text', 
                                      value:InsuranceId"> 
</select>

如果 IsValueCheckedtrue,我想创建警报,但我要更新的值是 InsuranceId。我正在尝试通过订阅 InsuranceId 来实现此目的。

vm.InsuranceId.subscribe(function (newValue) {
    //doing something here
}

如何编写这个逻辑?

最佳答案

Payors 必须是数组或 observableArray,并包含您想要选择的选项。

当您订阅 InsuranceId 时,您将获得所选的 ID。使用它来过滤Payors

vm.Payors = ko.observableArray([
    {IsValueChecked : false, Id : 1, Text: 'False'},
    {IsValueChecked : true, Id: 2, Text: 'True'}
]);

vm.InsuranceId.subscribe(function (newValue) {
    var boolean = vm.Payors().find(function(payorObject){
         if (newValue === payorObject.Id) {
             return payorObject.IsValueChecked;
         }
    });
    if (boolean) alert ("IsValueChecked is true");
}

关于javascript - knockout : Alert based on property of list of objects on select option,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52209004/

相关文章:

javascript - Angular ng-file-upload 删除

javascript - Learnyounode教程#11 HTTP文件服务器

c# - ASP.Net MVC 中模型启动的数据绑定(bind)(更新 UI)

knockout.js - 如何在KnockoutJS中使用indexOf

javascript - 当所有字段都填满时启用按钮

javascript - webpack 打包文件但 index.js 没有运行

javascript - 对象赋值的嵌套解构

WPF 绑定(bind) : How to databind to Grid?

c# - WPF 动态绑定(bind)

javascript - 将数据绑定(bind)到 Knockout View 时出现闪烁问题