YII2可有方法實現下拉框聯動?

來源:互聯網
上載者:User

本來想去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 不要謝我

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.