2017-04-03 51 views
0

Flexdatalistを使用して自動補完機能を提供しています。 私のスクリプトは、次のようなものです:jQueryを使用してFlexdatalistのデフォルト値を設定する方法

$('#locationKeyword').flexdatalist({ 
     url: 'serverAction', 
     cache: false, 
     searchIn: ["ProvinceName", "CityName", "TownName"], 
     visibleProperties: ["ProvinceName", "CityName", "TownName"], 
     groupBy: 'ProvinceName', 
     value:'1,1,1', 
     selectionRequired: false, 
     focusFirstResult: true, 
     minLength: 1, 
     maxShownResults: 20, 
     valueProperty: '{Value}', 
     textProperty: '{ProvinceName}, {CityName}, {TownName}', 
     searchContain: true 
    }); 

サーバー側のコード(Asp.NET MVC)は、次のようなオブジェクトの配列を返します。

return Json(new 
     { 
      ProvinceName = item.Province.Name, 
      CityName = item.City.Name, 
      TownName = item.Town.Name, 
      Value = item.ProvinceId + "," + item.CityId + "," + item.TownId 
     }); 

すべてitem.ProvinceId、item.CityId 、item.TownIdはintです。

問題: どのようにしてデフォルト値を設定できますか?たとえば、都道府県、都道府県、市町村の組み合わせを1つ選択します。

答えて

0

ありがとうございます!

私は以下のように解決策を見つけた:

HTML:

<input name="BusinessLocation" type="text" class="locationKeyword" /> 

スクリプト:

$('[name=BusinessLocation]').flexdatalist({ 
     url: options.businessLocationUrl, 
     cache: false, 
     searchIn: ["ProvinceName", "CityName", "TownName"], 
     visibleProperties: ["ProvinceName", "CityName", "TownName"], 
     groupBy: 'ProvinceName', 
     selectionRequired: true, 
     focusFirstResult: true, 
     minLength: 1, 
     maxShownResults: 20, 
     textProperty: '{ProvinceName}, {CityName}, {TownName}', 
     searchContain: true, 
     valueProperty: 'Value' 
    });   

    $('.locationKeyword').each(function (index) { 
     if ($(this).hasClass('flexdatalist-alias')) { 
      $(this).val('تهران, تهران, یوسف آباد'); 
     } else { 
      $(this).val('1,1,1'); 
     } 
    }); 

    $('[name=BusinessLocation]').val('1,1,1'); 
関連する問題