javascript - Sitecore SPEAK UI 以编程方式设置 ComboBox 的选定项目

标签 javascript sitecore sitecore8 sitecore-speak-ui

如何在 Sitecore SPEAK UI 中设置 ComboBox 组件的选中项?

我的 ComboBox 由一个 QueryDataSource 组件填充,该组件查看我的核心数据库中的项目文件夹。

我可以使用以下代码检索当前选择的值(文本,而不是 ID):

var value = this.MyComboBoxId.viewModel.selectedItemId();

我希望能够使用以下方法设置所选值:

var value = "SomeValueWhichExistsInTheList";
this.MyComboBoxId.viewModel.selectedItemId(value);

但这似乎行不通。文档 here提到使用

rebind(items, selectedItem, selectedValue, displayFieldName, valueFieldName)

但我不想重新填充它,只需更改所选项目即可。我的代码在模型的 initialize 方法中。

编辑

我发现如果 ComboBox 没有在呈现属性中设置 DisplayFieldNameValueFieldName 值,您必须将值设置为适当的 itemId。 DisplayFieldName 和/或 ValueFieldName 应设置为您创建的字段的名称 - 您不能绑定(bind)到项目名称。

最佳答案

initialize方法中,使用如下代码设置值:

app.yourQueryDataSource.on("change:hasItems", function () {
    app.yourComboBox.set("selectedValue", yourValue); 
});

关于javascript - Sitecore SPEAK UI 以编程方式设置 ComboBox 的选定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35783867/

相关文章:

javascript - 如何调试适用于 iPhone 5 但不适用于 4S 的移动 Safari 崩溃

javascript - 带有 Sitecore 页面编辑器的 Jquery

html - 为字段的下拉列表选项自定义 html 输出

mongodb - Sitecore 8 MongoDB 识别访客问题

solr - Sitecore _path 字段在 Solr 索引中返回 NULL

javascript - 我不知道如何将我创建的工具提示连接到图像映射。

javascript - 如何使用我的 javascript 强制执行正确的顺序

javascript - 使用鼠标滚轮垂直滚动幻灯片

c# - 为什么所有 Glass.Mapper 字段都应该是虚拟的?

c# - Sitecore 项目字段值空