Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 淘汰选择字段错误数据绑定_Javascript_Knockout.js - Fatal编程技术网

Javascript 淘汰选择字段错误数据绑定

Javascript 淘汰选择字段错误数据绑定,javascript,knockout.js,Javascript,Knockout.js,我想使用Knockout创建一个下拉列表。这是我的选择: 我不明白为什么我的选择字段的“值”只有在我更改选择并且在第一次加载时不起作用时才起作用。我会直接定位“Misure”(选项中的ObservableArray)元素,我总是有空白。代码如下: self.MisuraLaboratorio = ko.observable(); self.MisuraLaboratorio = function () { if (self.Indicazione() != null) {

我想使用Knockout创建一个下拉列表。这是我的选择:

我不明白为什么我的选择字段的“值”只有在我更改选择并且在第一次加载时不起作用时才起作用。我会直接定位“Misure”(选项中的ObservableArray)元素,我总是有空白。代码如下:

self.MisuraLaboratorio = ko.observable();

self.MisuraLaboratorio = function () { 
    if (self.Indicazione() != null) { 
        for (i = 0; i < self.Misure().length; i++) { 
            if (self.Indicazione().Misura.Id == self.Misure()[i].Id) { 
                var data = self.Misure()[i]; 
                return data; 
                } 
            } 
        } 
    return " "; 
};
self.MisuraLaboratorio=ko.observable();
self.MisuraLaboratorio=函数(){
如果(self.indicatione()!=null){
对于(i=0;i
当您要设置一个可观察对象时,您希望将其作为一个函数调用,其值如下:

self.MisuraLaboratorio(yourValue);

看起来您正在用一个查找您的值的函数覆盖它。

当您要设置一个可观察对象时,您希望将其作为一个具有如下值的函数调用:

self.MisuraLaboratorio(yourValue);

看起来您正在使用一个查找您的值的函数来覆盖它。

如果我使用follow方法,工作正常,但是当我更改select上的元素时,我有未定义的元素。为什么?value:MisuraLaboratorio()和value:MisuraLaboratorio之间的区别是什么。为什么第一次我可以查看初始元素而不是其他元素,但第二次我无法查看第一个元素,但其他选定元素是好的?我不明白当你做双向绑定时,比如用
绑定,你只需要传递可观察的。如果您传递
MisuraLaboratorio()
,那么它将只是最终值,绑定将无法返回到可观察对象(以便它可以写入)。谢谢你,我这样解决:代码是:self.MisuraLaboratorio=ko.computed(function(){var idMisura=0;If(self.indicatione()!=null){for(i=0;i0)返回self.Misure()!=null?self.Misure()[idMisura]:“;else返回self.Misure()!=null?self.Misure()[0]:“”;},self);如果我使用follow方法,工作正常,但是当我更改select上的元素时,我有未定义的元素。为什么?value:MisuraLaboratorio()和value:MisuraLaboratorio之间的区别是什么。为什么第一次我可以查看初始元素而不是其他元素,但第二次我无法查看第一个元素,但其他选定元素是好的?我不明白当你做双向绑定时,比如用
绑定,你只需要传递可观察的。如果您传递
MisuraLaboratorio()
,那么它将只是最终值,绑定将无法返回到可观察对象(以便它可以写入)。谢谢你,我这样解决:代码是:self.MisuraLaboratorio=ko.computed(function(){var idMisura=0;If(self.indicatione()!=null){for(i=0;i0)返回self.Misure()!=null?self.Misure()[idMisura]:“;else返回self.Misure()!=null?self.Misure()[0]:“”;},self);