2

Потребность Значение Already Set

Я использую Кендо автозаполнения, чтобы выбрать элемент из списка. Мне нужно установить значение поля ввода текста и сделать это фактически использовать значение из списка.Кендо автозаполнения Значение по умолчанию

В настоящее время я устанавливаю текстовое значение поля ввода в значение элемента в таблице, хотя на самом деле оно не используется, как если бы вы ввели его и нажали на автоматически заполненный элемент.

Установка по умолчанию текст:

IQueryable<StorageLocation> query = (from s in db.StorageLocations.Include("StorageLocationType") select s); 
     DefaultStorageLocation = query.Count() != 1 ? "" : query.FirstOrDefault().TitleWithType; 

Установка значения текстового поля:

<input type="text" value="<%: Model.DefaultStorageLocation %>" name="StorageLocation" id="StorageLocation" originalname="StorageLocation" placeholder="" class="autoComplete" style="width: 158px;" /> 

Мой Кендо автозаполнения:

$('#StorageLocation' + rowID).kendoAutoComplete({ 
     dataTextField: 'title', 
     dataValueField: 'id', 
     minLength: 2, 
     autoBind: false, 
     select: function (e) { 
      var dataItem = this.dataItem(e.item.index()); 
      $('#StorageLocationID' + rowID).val(dataItem.id); 
     }, 
     dataSource: { 
      type: 'json', 
      serverFiltering: true, 
      transport: { 
       read: { 
        url: function (opt) { 
         return '/Autocomplete/StorageLocations?searchText=' + opt.filter.filters[0].value; 
        } 
       } 
      } 
     } 
    }); 

так вкратце.

  • Я устанавливаю значение ввода текста
  • нужно, чтобы на самом деле использовать значение, как если бы он был выбран из автозаполнения

ответ

0

контроллер SEARCHRESULT поисковый запрос

storageLocation = (DefaultWarehouseForIA && !StorageLocation.IsNull()) ? StorageLocation.TitleWithType : "", 
defaultStorageLocationID = (DefaultWarehouseForIA && DefaultStorageLocationID.ToLong() > 0) ? DefaultStorageLocationID : null 

значения JS быть заполнены, когда другой текстовое поле заполнено.

select: function (e) { 
    var dataItem = this.dataItem(e.item.index()); 
    $('#StorageLocation' + rowID).val(dataItem.storageLocation); 
    $('#StorageLocationID' + rowID).val(dataItem.defaultStorageLocationID); 
} 

На данный момент я понял это. Попросите его работать.

Так что теперь значение автоматически заполняется, когда заполняется другое текстовое поле. Объяснение здесь не слишком велико. Но эй.

0

Похоже, вы пытаетесь авто-выбрать первое значение, когда есть только один. Я думаю, что suggest свойство будет делать то, что вы ищете: http://docs.telerik.com/kendo-ui/api/javascript/ui/autocomplete#configuration-suggest

В качестве альтернативы, попробуйте value метод: http://docs.telerik.com/kendo-ui/api/javascript/ui/autocomplete#methods-value

+0

Я пошел и попробовал предложить. Он по-прежнему требует, чтобы пользователь вводил что-то, прежде чем предлагать остальные. – triihard

+0

Звучит правильно; похоже, я неправильно прочитал документацию. Как насчет метода 'value'? – Will

+0

Это заполняет текст штрафом, но все равно не действует так, как если бы он был выбран из списка автозаполнения. Используемая проверка, не рассматривает ее как значение из списка автозаполнения. – triihard