2011-12-16 24 views
0

我正在使用dojo腳本創建自定義下拉列表。當我創建下拉菜單時,使用Dojo禁用li

dojo.forEach(tags, function(tag) { 
       var option = dojo.create("option", { 
            innerHTML: tag.name  
            }); 
           dojo.place(option, Select); 
          }); 

        }); 

我創建此下拉式菜單以實現自動完成。

現在的問題是我想禁用一些選項,所以用戶不能選擇它們。

我該怎麼做?

回答

2

AFAIK並試圖在那裏沒有這種可能性。我認爲將自動填充功能與禁用的值混合是沒有意義的。可能的解決方案:

  1. 擺脫自動完成功能,並使用dijit.form.Select或本地Select,都工作正常<option disabled="true"></option>
  2. 使用dijit.form.FilteringSelect並且不添加或動態刪除要禁用的選項。

請注意,dijit.form.FilteringSelectdijit.form.ComboBox的設計主要是基於對dojo.data API和道場1.7還dojo.store與模型的工作。您應更新Model(dojo.data/dojo.store),因爲View(FilteringSelect/ComboBox)正在觀察模型並在需要時更新UI。看我的jsFiddle examples

N.B .:如果您不熟悉dojo.data API,並且您可以使用最新版本的Dojo,請不要打擾進入dojo.data API並從dojo.store開始。通過dojo.data管理模型是非常錯誤和複雜的方式。