【问题标题】:How to use queryExpr for dijit/form/ComboBox如何将 queryExpr 用于 dijit/form/ComboBox
【发布时间】:2017-04-23 15:45:55
【问题描述】:

我有组合框dijit/form/ComboBox,我希望当用户开始输入组合框时显示包含字母的结果。

例如组合框有这个值

  • 内布拉斯加州
  • 南达科他州
  • 特拉华州

当用户键入“D”时 结果应该是

  • 南达科他州
  • 特拉华州

【问题讨论】:

    标签: javascript dojo dijit.form


    【解决方案1】:

    如果组合选择项包含搜索关键字,只需使用queryExpr: "*${0}*" 进行搜索。

    下面是一个完整的示例:

    require([
        "dojo/store/Memory", "dijit/form/ComboBox", "dojo/domReady!"
    ], function(Memory, ComboBox){
        var stateStore = new Memory({
            data: [
                {name:"", id:""},
                {name:"Nebraska", id:"NE"},
                {name:"South Dakota", id:"SD"},
                {name:"Delaware", id:"DE"},
                {name:"Test1", id:"T1"},
                {name:"Test2", id:"T2"},
                {name:"Test3", id:"T3"}
            ]
        });
    
        var ComboBox = new ComboBox({
            id: "filteringCombo",
            store: stateStore,
            queryExpr: "*${0}*",
            searchAttr: "name"
        }, "filterCombo").startup();
    });
    <script type="text/javascript">
      dojoConfig = {isDebug: true, async: true, parseOnLoad: true}
    </script>
    
    <script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
    <link href="//ajax.googleapis.com/ajax/libs/dojo/1.8.3/dijit/themes/claro/claro.css" rel="stylesheet"/>
    <body class="claro">
      <div id="filterCombo"></div>
    </body>

    【讨论】:

    • 嘿@mostafa 这有帮助吗:) ??
    • +1 :),如果这对您有帮助,请将答案标记为已解决 ✓(留下答案)(就像这张图片 => image resolve post)谢谢 :)
    • 在你告诉我之前我已经做了,再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    相关资源
    最近更新 更多