在按钮单击事件上绑定 dx选择框
Bind dxSelectBox on button click event
我正在使用DevExtreme MVVM架构,根据我的场景,当按钮点击事件时,我需要绑定dxSelectBox(组合框)。
网页代码:
<div data-bind="dxButton:{onClick:display,text:'Click Me'}"></div>
<div data-bind="dxSelectBox:{dataSource: themes, displayExpr: 'name' }"></div>
JS代码:
var themesArray = [
{ themeId: 1, name: "Android (Dunkel)" },
{ themeId: 2, name: "Desktop" },
{ themeId: 3, name: "iOS" },
{ themeId: 4, name: "Windows 8" },
{ themeId: 5, name: "Windows Phone 8" },
{ themeId: 6, name: "Tizen" }
];
var themes = new DevExpress.data.DataSource(themesArray);
var viewModel = {
themes: '',
display: function () {
console.log(themesArray);
themes: themesArray
}
};
return viewModel;
提示:dxSelectBox 具有空值...我是这个环境的新手,我不知道我在哪里做错了。
恐
怕你忘了设置"值"选项,例如:
data-bind="dxSelectBox: { dataSource: [ { val: true, text: 'Yes' }, { val: false, text: 'No' }], valueExpr: 'val', displayExpr: 'text', value: visible }"
对于您的上下文:
var viewModel = {
themes: [ ...array of themes... ],
selectedThemeId: 1,
display: function () {
console.log(themesArray);
themes: themesArray
}
};
data-bind="dxSelectBox: { dataSource: themes, valueExpr: 'themeId', displayExpr: 'name', value: selectedThemeId }"
我厌倦了以下代码:
var themesArray = [
{ themeId: 1, name: "Android (Dunkel)" },
{ themeId: 2, name: "Desktop" },
{ themeId: 3, name: "iOS" },
{ themeId: 4, name: "Windows 8" },
{ themeId: 5, name: "Windows Phone 8" },
{ themeId: 6, name: "Tizen" }
];
var modifiedthemesArray = [
{ themeId: 1, name: "a (Dunkel)" },
{ themeId: 2, name: "b" },
{ themeId: 3, name: "c" },
{ themeId: 4, name: "Windows 8" },
{ themeId: 5, name: "Windows Phone 8" },
{ themeId: 6, name: "Tizen" }
];
var themes = new DevExpress.data.DataSource(themesArray);
var viewModel = {
themes: themesArray,
selectedThemeId: 1,
display: function (e) {
console.log(e);
themes: modifiedthemesArray
}
};
return viewModel;
您可以使用 observableArray 来更改集合对象。我厌倦了以下代码,它对我有用:
var themesArray = [
{ themeId: 1, name: "Android (Dunkel)" },
{ themeId: 2, name: "Desktop" },
{ themeId: 3, name: "iOS" },
{ themeId: 4, name: "Windows 8" },
{ themeId: 5, name: "Windows Phone 8" },
{ themeId: 6, name: "Tizen" }
];
var viewModel = {
themes: ko.observableArray(),
display: function() {
console.log(themesArray);
viewModel.themes(themesArray);
}
};
return viewModel;
相关文章:
- 下拉选择可自动更改第二个下拉选择
- 如何使用jQuery选择下拉列表的值
- jquery点击函数select&取消选择
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 按照选项卡索引的顺序循环一个jQuery选择
- 在动态创建的元素上获取对特定选择器的引用
- AngularJS-在JSON选择器中使用变量名
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 获取选择框的状态
- d3基于用户选择动态更新节点
- 提交后保留下拉选择的值
- JQuery对动态创建的对象进行选择
- 无法在Ionic select中预先选择最后一个选项
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- jQuery自动完成阻止选择后聚焦
- 使用此选项选择父类内部的类
- jQuery最近父级的数据属性选择器
- 遍历类元素数组,并在jquery中选择同级元素
- CKeditor:更改对话框中的默认选择选项
- 在按钮单击事件上绑定 dx选择框