2010-10-30 3 views
1

Я использую встроенный FilteringSelect с датастором, следующим образом:Dijit/Dojo Инлайн - фильтрация Select - DataStore

Я использую ABBR в качестве идентификатора и NAME в качестве значения.

Фильтр выбирает и работает правильно, но у меня есть две проблемы.

  1. Во-первых, как получить ABBR для выбранного варианта NAME? Я пробовал различные вещи, в том числе .innerHTML, но это только возвращает выбранное имя элемента, а не идентификатор.

  2. Во-вторых, при использовании параметра datastore, как я могу выбрать выбранный по умолчанию элемент, например, если он был шкалой от 1 до 10, и я хотел, чтобы 5 был выбран по умолчанию, как я могу это сделать?

Любые идеи и советы были бы весьма признательны.

Mank благодаря

+0

пример кода:

<пролет dojoType = "dijit.InlineEditBox" Редактор = "dijit.form.FilteringSelect" магазин = "actionStore" editorParams = "{магазин: actionStore, Autocomplete: истинно}" ширина = "280px" id = "frm_company_action"> –

ответ

0
dojo.addOnLoad(function() { 
      // inline store 
    str = new dojo.data.ItemFileReadStore({data: storeData10}) 
      var itmes; 
     // for storing the store's items  
       str.fetch({ 
       onComplete:function(itms){ 
        itmes= itms; 
        console.log(itms) 
       } 
      }) 
      dijit.byId("cmbx1").store = str 
      dojo.connect(dijit.byId("cmbx1"), 'onChange',function(){ 
       //console.log(arguments); 
            //get the value u c in screen 
       var whatvseeinselect = dijit.byId("cmbx1").focusNode.value; 

    dojo.forEach(itmes, function(itm){ 
//compare the value u c in screen with store itms. once matched take that item and get the name attr or other attr if u require.. 
        if(whatvseeinselect == str.getValue(itm,"name")){ 
         console.log(str.getValue(itm,"name")); 
        } 
       }) 
      }) 
     }); 

Я не уверен, является ли это правильный путь. Надежда это помогает