首页 文章

敲除js - 基于select控件中选择的选项绑定值

提问于
浏览
0

我正在淘汰js

我绑定控件的值如下,

HTML,

<html>
    <select id ="eg" data-bind:"value:name().nationality.gender.Id"/>
        <option>1</option>
        <option>2</option>
        <options>3</option>
        <option>4</option>
    </select>   
</html>

javascipt的,

function viewmodel(objservermodel)
{
    var self = this;
    self.name = ko.observable(ko.mapping.fromJS($.parseJSON(objservermodel));
}

杰森是这样的,

{"nationality":[{"gender":{"Id":"1"}}]}

但是当我把它称为“data-bind:”时:name() . nationality.gender.Id“”

它说Id未定义,

我也试过了,

"value: name().nationality[0].gender.Id" or "value: name().nationality()[0].gender().Id"

我只收到控制台错误消息,

Uncaught Error: Unable to parse bindings.
     gender undefined
     Bindings value:  value:value: name().nationality[0].gender.Id

有人能告诉我如何与Id完全绑定,

Id值应根据select控件中选择的选项进行绑定 .

我试了几次,还是没有到达解决方案,

任何帮助是极大的赞赏,

谢谢 .

3 回答

  • 1

    单个选择列表绑定到可观察的数组,如下所示:

    Javascript:

    function viewmodel(objservermodel)
    {  
        var parseJson = function(){
            ......//parse nationalities json array
        }
    
        self.nationalities = ko.observableArray(parseJson()); //js array with all parsed nationalities from incoming json
        self.selectedNationality = ko.observable(); //this gives you the current selected nationality object
    
    
    }
    
    
    
    ko.applyBindings($("#foo")[0], viewmodel); //apply bindings!!!
    

    HTML:

    <div id="foo">
    <select id ="eg" data-bind:"options: nationalities, value: selectedNationality"/>
    </div>
    
  • 1

    我试过了,

    data-bind:"value:name().nationality()[0].gender.Id"
    

    并且每次更改选择控件中选择的选项时,值都会更新 .

    这对我有用 .

  • 0

    由于JSON将国籍作为数组对象返回,

    我必须绑定它,

    data-bind:"value:name().nationality()[0].gender.Id" 
    
     data-bind:"value:name().nationality()[1].gender.Id" 
    
     data-bind:"value:name().nationality()[2].gender.Id"
    

    等等 .

    因此制定出来了 .

相关问题