Knockout javascript data-bind下拉列表
knockout javascript data-bind dropdown list
几天来,我开始使用knockout javascript和bootstrap。我想添加一些元素到一个下拉列表,从数据库元素,并获得id(数据库)为点击搜索其他数据。我添加来自控制器的数据:
success: function (data) {
if (data != null) {
$.each(data, function (index, element) {
document.pvm.CartLst.push({ Id: element.ID, Name: element.ShortName });
});
}
}
我将这些数据添加到下拉列表中:
_mVM.Averagepace = function (item, event) {
var element = {cartlist: document.pvm.CartLst()};
var rvm = new panelViewModel(element);
_mVM.rapArray.push(rvm);
}
在。cshtml中我有这个:
<ul class="dropdown-menu scrollable-menu" aria-labelledby="dropdownMenu6" data-bind="foreach: cartlist">
<li data-bind="click: document.pvm.changeSelC"><a href="#"><b data-bind="text: $data"></b></a></li></ul>
当选择改变时,它调用:
_mVM.changeSelC = function (item, event) {
//get the id of the selected cart from the dropdownlist
}
问题是,在我的下拉菜单中出现了一个"[object object]"列表,但它必须只显示CartLst中的名称。当选择更改时,在_mVM.ChangeSelC中获取该名称后面的id。我已经寻找了不同的解决方案,但没有一个对我有效。如果你能帮我的话,我会很感激的。
这就是你通常如何在KnockoutJS下拉菜单中获得" [object Object]
":
ko.applyBindings({ availableItems: [{Id: 1, Name: 'some item'}] });
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<select data-bind="options: availableItems"></select>
如果你仔细想想,这实际上是合乎逻辑的:option
被绑定到数组中的对象。您已经暗示了这一点:您需要告诉Knockout使用项目的name
属性来显示option
。这在options
绑定中有记录,并使用optionsText
绑定,如下所示:
ko.applyBindings({ availableItems: [{Id: 1, Name: 'some item'}] });
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<select data-bind="options: availableItems, optionsText: 'Name'"></select>
相关文章:
- 如何使用jQuery选择下拉列表的值
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- jQuery表单添加不适用于下拉列表
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 禁用jQuery中的下拉列表
- 如何在按钮中显示下拉列表中选定的元素
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- 如何使用PHP和JS级联三个下拉列表
- 如何在使用剑道 MVVM 下拉列表时强制选择第一项
- 语义ui如何使用javascript启用或禁用下拉列表
- 无法使用PHP动态设置下拉列表中的值
- 如何根据对具有多行的先前列表的选择来动态加载下拉列表
- 下拉列表在使用z索引放置在前面后停止工作
- 从多维嵌套json数组创建下拉列表
- 如何在剑道下拉列表中按文本和值搜索
- 使用下拉列表筛选列表(ul>li)
- 如何添加$_GET['data']在URL (media.php?data=123)当我从下拉列表中选择
- 在angular js下拉列表中输入data
- Knockout javascript data-bind下拉列表