本來想去yiichina問的,但是上面很水,基本只有站長偶爾回複一下!
就是類似於城市三級聯動那種,選中一級之後,在後一個下拉框列出下一級的分類,只是我是用於我的分類。其實用html+js+php我是可以弄出來的,只是這樣會拋棄yii內建的表單產生方法,也會失去他的驗證!
暫時先用自己會的方法弄了,如果有大神知道,再改成YII風格的~
回複內容:
本來想去yiichina問的,但是上面很水,基本只有站長偶爾回複一下!
就是類似於城市三級聯動那種,選中一級之後,在後一個下拉框列出下一級的分類,只是我是用於我的分類。其實用html+js+php我是可以弄出來的,只是這樣會拋棄yii內建的表單產生方法,也會失去他的驗證!
暫時先用自己會的方法弄了,如果有大神知道,再改成YII風格的~
Yii2本身沒有聯動效果外掛程式,都是用其他類拼接起來的,不過你自己可以寫外掛程式。yii2的例子沒有,之前寫過yii1的聯動效果。你不想失去本身的驗證,只要input的name跟模型中的一樣就行了。
//view dropDownList($blog,'mid',CHtml::listData(Metas::model()->parents(),'mid','name'), array ( 'class'=>'form-control', 'empty'=>array('0'=>'請選擇類別'), 'onchange'=>'ajaxGetArea(this)')); ?> error($blog,'mid'); ?> //jsYii::app()->clientScript->registerScript('metas','function ajaxGetArea(obj){ //請求地址 var link = "'.Yii::app()->createUrl("/cms/metas/json").'"; //請求資料 $.post( link, { parent : $(obj).val() }, function(data) { //清除子類的select $(obj).parent().nextAll("div").each(function() { $(this).remove(); }); if (data != "-1") { //構造子類select的html var select = null; // 此處注意添加onchange事件 select = "請選擇類別"; $.each(data, function(key, item) { select += ""+item.name+""; }); select += ""; //插入到右側,上一級 $(obj).parent().after(select); //觸發下一個子類select的動態載入 //$(obj).next("select").trigger("change", function() { //ajaxGetArea($(this)); //}); //更新name的位置 $(obj).removeAttr("id"); $(obj).next("select").attr("id", "Articles_mid"); $(obj).removeAttr("name"); $(obj).next("select").attr("name", "Articles[mid]"); } }, "json" );}',CClientScript::POS_END);
http://www.cnsecer.com/7140.html 不要謝我