多級的連動

2021-06-15 21:01:03 字數 1867 閱讀 8739

特點:通用性強、實現了script和html分離

一、檔案及原始碼

cs.js

用函式和類兩種方法實現,呼叫時只要呼叫一種就可以了。

if (isonchange == null)

cascadeselect.onchange = function ();

cascadeselect.getattr = function (attrname) ;

cascadeselect.getelementbyid = function (id) ;

cascadeselect.setdisplaystyle = function(value)

var subelement = this.getelementbyid(this.getattr("subelement"));

if (subelement != undefined)

};nodes.getchildnodesbyparent = function (parent)

for (var i = 0; i < nodes.length; i++)

}return childnodes;

}if(!isonchange)

var childnodes = nodes.getchildnodesbyparent(parent);

for (var i = 0; i < childnodes.length; i++)}}

if (cascadeselect.options.length > 0)

} else

}/**

* 以類的方法實現連動

*/function cascadeselect(element, parent, nodes)

this.build(element, parent, false);

}cascadeselect.prototype.getelementbyid = function (id) ;

cascadeselect.prototype.getattribute = function (element, attrname) ;

cascadeselect.prototype.getchildnodesbyparent = function (parent)

for (var i = 0; i < this.nodes.length; i++)

}return childnodes;

}cascadeselect.prototype.setdisplaystyle = function(element, value)

var subelement = this.getelementbyid(this.getattribute(element, this.attributes["subelement"]));

if (subelement != undefined)}};

cascadeselect.prototype.build = function (element, parent, isonchange)

if(!isonchange)

var childnodes = this.getchildnodesbyparent(parent);

for (var i = 0; i < childnodes.length; i++)}}

if (element.options.length > 0)

} else

}//-->

二、demo加說明

demo_cs2.htm

三、不足的地方

1、onchange事件被重定義了,如果想在onchage執行其它的東東,想辦法吧。:)

2、修改時的回顯

Yii 連動下拉列表,可多級哦

視 件getmemgroup array class s ipt w 120 empty 請選擇會員組 ajax array type get url ccontroller createurl cmptemplates getmemtype update cmptemplates zmg ids ...

JS連動下拉框的實現

以前學。net的時候 下拉框連動只要設定一下就好了,現在在用php開發,沒有這個功能,只能自己用js寫了,這個應該比較經常用到。上面的 中 subcat new array 是用php模板技術先把城市的繫結輸出到頁面,自己自動生成陣列 然後在html中新增呼叫上面的 即可 例 province 這是...

XML卷之實戰錦囊(4) 選單連動

動機 現在我們做個在ie裡應用 xml的乙個小例子 解決雙下拉列表的連動問題。大家最常見的可能就是選取省份後改變城市選項的例子了,那我們就來嘗試著用 xml來完成吧。以前介紹的一些功能我是直接用xml xsl檔案來完成的,大家可能還不是很熟悉它的用法,所以我這次就用hmtl xml來做,希望能夠讓大...