【问题标题】:How to make it mandatory to select a value in Autoselect while using template如何在使用模板时强制在自动选择中选择一个值
【发布时间】:2016-08-12 19:12:28
【问题描述】:

场景:我们有一个剑道 UI 模板。当用户尝试输入至少 2 个章程时,自动完成小部件中会填充数据。我不能使用组合框,因为返回数据可能很大并且组合框会冻结。我想强制用户从自动完成下拉列表中选择一个选项,如果自动完成没有返回任何内容,或者如果用户没有选择我想清除文本字段的数据。我的代码的问题是每次它清除第一行中的模板而不是未选择数据的相关模板。 模板声明

<script id="newTestTemplate" type="text/x-kendo-template">
<div id="testRec">
   <input id="pSearchId"  class="pSearch"
           data-role="autocomplete"
           data-placeholder="Select from dropdown"
           data-text-field="name"
           type="text"
           data-bind="source: pSearchDS, value: name, events: {select: pSelected,open : pOpen,close : pClose}"
           data-min-length="2"
           data-highlight-first="true" maxlength="160" />
    <input id="pDesc" data-role="textbox" placeholder="Description" class="k-textbox part-input" data-bind="value: description/> </div>

Javascript:

   pOpen = function (e) {
        valid = false;
    }

    pClose = function (e) {
        if (!valid) {
           $(e.sender).closest(".pSearch").val("");
           $("#pDesc").val('');   //tried this way too
        }
    } 
     pSelected = function (e) {
        valid = true;
    }  

请建议。如果还有其他方法可以强制实施选择,请告诉我。

【问题讨论】:

    标签: javascript jquery asp.net-mvc html kendo-ui


    【解决方案1】:

    您可以尝试以下自动完成模糊检查如果用户选择了任何值,如果没有清除值

    $("#pSearchId").blur(function(){
          if (!valid) {
            alert("User not selected any value");
               $("#pSearchId").val('');
               $("#pDesc").val('');
            }
    
        });
    

    【讨论】:

    • 这行不通。代码似乎没有被调用。
    【解决方案2】:

    为此,我最终对点击进行了验证,甚至检查文本框是否有值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-24
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 2015-07-21
      相关资源
      最近更新 更多