dijit.form.Select 基本用法


dijit.form.Select

1)創建:

var division = new dijit.form.Select({
id: "Division",//id必須唯一
name: 'Division',
intermediateChanges: "false",
iconClass: "dijitNoIcon",
emptyLabel: " ",
scrollOnFocus: "true",
autoWidth: "true",
style: "width:150px;",

sortByLabel: false,  //默認會根據label進行排序,設為false可保證原有順序
options: [
{ label: '山東', value: '山東', selected: true },//默認選中該項
{ label: '河北', value: '河北' },
{ label: '天津', value: '河北' }
]

        }).placeAt(td22);//設置顯示的位置,這里為table中的一個單元格;也可通過division .placeAt(td22);設置

 

2)通過Store創建

function GetRegionStore(dataType) {
switch (dataType) {
case "山東":
var store = new dojo.data.ItemFileReadStore({
data: {
identifier: 'id',
label: 'name',
items: [
{ name: "濟南", id: "濟南" },
{ name: "青島", id: "青島" },
{ name: "濟寧", id: "濟寧" },
{ name: "濰坊", id: "濰坊" }
]
}
});
return store;
......
}
}

var store = GetRegionStore("山東");
dijit.byId("Division").set("store", store);

 

3)綁定事件

var selector = dijit.byId("Division");
selector.on("change", function () {
//To Do Code
});

dojo.connect(dijit.byId("Division"), "onChange", function (newValue) {
//To Do Code
 });

 

注意:

兩種方式中,事件名稱的區別;

注意注冊事件時事件名對大小寫敏感;

dojo.byId 取到的是dom節點,dijit取到的是widget元素;dom節點不能用來綁定事件;

綁定事件的代碼可放在聲明組件的代碼之后,不必考慮元素是否已經加載到頁面中,未加載的話是否會無法注冊(初學者,具體原理不太明白,多次試驗后確定如此)。

如果value綁定為某個對象,有可能存在change事件只能觸發一次的問題,可以將value綁定到具體的字段,比如對象id等

 

4)獲取/設置

var value = selector.get('value');

selector.set('value', selectedDivision);

selector.att('value', selectedDivision);

兩種設置方法均有效,也都可以觸發onChange事件,之間的區別尚不清楚。

 

問題:

下拉列表中,文字的字體大小和選中后文本框內的不同,需要如何控制?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM