javascript - 将 ComboBox 与 InlineEditBox 结合使用

标签 javascript dojo edit-in-place

我正在尝试使用 InlineEditBox以及以下 dijit/form/ComboBox:

  var items = [
    {name: 'new'},
    {name: 'processed'},
    {name: 'approved'},
    {name: 'running'},
    {name: 'archived'}
  ]
  new ComboBox({
    store: new Memory({data: items}),
    searchAttr: 'name',
    style: 'width: 200px;'
  }, 'status').startup()

我的第一个“天真的”方法是:

new InlineEditBox({
  store: new Memory({data: items}),
  searchAttr: 'value',
  style: 'width: 200px;',
  editor: ComboBox
}, 'status').startup()  

作为效果,显示了内联框,您可以单击它,但显示空的 ComboBox。我尝试过 Nabble's forum 中的方法:

new InlineEditBox({
  editor: new ComboBox({
  store: new Memory({data: items}),
  searchAttr: 'value',
  style: 'width: 200px;',
})}, 'status').startup()

但是,它的效果并不好。

我的问题:除了简单的文本编辑器之外,有没有办法将 dijit/InlineEditBox 与 dijit 控件一起使用,该组件只是编写为仅与少数受支持的控件配合?

最佳答案

我找到了答案:您需要使用editorParams。此参数是具有赋予编辑器的属性的对象。它没有直接记录在 Dojo 文档中,但在示例中使用。

带有 InlineTextEdit 的工作组合框:

  new InlineEditBox({
    editor: ComboBox,
    editorParams: {
      store: new Memory({data: items}),
      searchAttr: 'name'
    }
  }, 'type').startup()  

关于javascript - 将 ComboBox 与 InlineEditBox 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24187045/

相关文章:

javascript - 允许用户安全地将 HTML 保存到数据库吗?

javascript - 匹配 Javascript RegEx 中第一个管道字符之后的所有内容

javascript - Dojo "On"复选框更改内部 For 循环范围问题

jquery - 如何使用 jquery 在 div 中添加带有值的文本框(就地编辑)

javascript - 在 node.js express 上使用中间件设置简单服务器时出错

javascript - Dojo DataGrid、jQuery Grid 还是 DataTables 哪个更好?

java - GWT + Struts2 与 DOJO + Struts2

javascript - 多个 TinyMCE 编辑器,但只有一个工具栏?

javascript - 如何使 jQuery 成为目标并将插件调用附加到数百个 CSS ID 的末尾有一个 ID 号?

c# - 在 Web 应用程序中从 Javascript 调用 C# 函数