Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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 在淘汰中绑定dropdownlist_Javascript_Asp.net Mvc_Knockout.js - Fatal编程技术网

Javascript 在淘汰中绑定dropdownlist

Javascript 在淘汰中绑定dropdownlist,javascript,asp.net-mvc,knockout.js,Javascript,Asp.net Mvc,Knockout.js,我有一个下拉列表的Javascript代码 $('#TravelG').append("<option value selected>Select TravelG</option>"); for (var i = 0; i < Travel.length; i++) { $('#TravelG').append("<option value='" + Travel[i].Id + "'>" + Travel[i].Name +

我有一个下拉列表的Javascript代码

 $('#TravelG').append("<option value selected>Select TravelG</option>");
    for (var i = 0; i < Travel.length; i++) {
        $('#TravelG').append("<option value='" +
 Travel[i].Id + "'>" + Travel[i].Name + "</option>");
    }

我需要将viewmodel的Travelname属性填充为名称、值对,Travel是包含数据的对象。这样我就可以将viewmodel的Travelname属性绑定到下拉列表。如何做到这一点?

正如@hunch\u hunch在评论中正确提到的,您应该使用knockout

假设您的
Travel
模型如下所示:

function Travel(id, name) {
    this.Id = id;
    this.Name = name;
}
<select data-bind="options: Travelname, optionsText: 'Name', optionsValue: 'Id', optionsCaption: 'Select travel...'"></select>
然后在您的视图模型中,您的
observatarray
包含
Travel
对象的集合(
this
指视图模型):

最后一部分是您的标记,应该是这样的:

function Travel(id, name) {
    this.Id = id;
    this.Name = name;
}
<select data-bind="options: Travelname, optionsText: 'Name', optionsValue: 'Id', optionsCaption: 'Select travel...'"></select>


这是最后的工作。我添加了简单的功能,可以将项目添加到列表中,这样您就可以看到如何做到这一点。

您是否查看了
选项
绑定?您将得到类似于
的结果。