首页 文章

Knockout选择数据绑定

提问于
浏览
1

我是淘汰赛的新手,并且对使用数据绑定和“选项”绑定提出了疑问 . 我希望有两个下拉列表,包含来自我的数据库的数据 . 我可以让第一个工作,但即使我以相同的方式实现它,第二个也不会出现 . 只有第一个下拉菜单才会显示在页面中,并显示所有正确的数据 . 但是第二个与所有房间名称一起出现的东西并没有出现 . 但当我删除第一个时,第二个工作 . 我显然在这里错过了什么,它会是什么?

这是我的HTML代码:

<div align = "center">
    <select data-bind="options: employees, 
        optionsText: 'FullName', 
        value: Id, 
        optionsCaption: 'Select employee to login'"class = "container">
    </select>
</div>  

<div align = "center">
    <select data-bind="options: meetingRooms, 
        optionsText: 'Location', 
        value: Id, 
        optionsCaption: 'Choose room to book'" class = "container">
     </select>
</div>

这是java脚本代码:

function BookingSystemViewModel() {
    var self = this;
    self.employees = ko.observableArray();
    self.meetingRooms = ko.observableArray();

    $.get( "/WebApi/API/Employees", function(data) {
        self.employees(data);
    });

     $.get( "/WebApi/API/MeetingRooms", function(data) {
        self.meetingRooms(data);
    });

1 回答

  • 2
    <div align = "center">
        <select data-bind="options: employees, 
            optionsText: 'FullName', 
            value: Id, 
            optionsCaption: 'Select employee to login'"class = "container">
        </select>
    </div>  
    
    <div align = "center">
        <select data-bind="options: meetingRooms, 
            optionsText: 'Location', 
            value: Id, 
            optionsCaption: 'Choose room to book'" class = "container">
         </select>
    </div>
    

    你是说 value 应该写成一个名为 Id 的可观察对象,你不需要查找 optionsValue ,它用于定义你想要用作所选对象的值的属性 .

相关问题