목차
回复内容:
백엔드 개발 PHP 튜토리얼 YII2可有方法实现下拉框联动?

YII2可有方法实现下拉框联动?

Jun 06, 2016 pm 08:41 PM
bootstrap php yii yii2 액자

本来想去yiichina问的,但是上面很水,基本只有站长偶尔回复一下!

就是类似于城市三级联动那种,选中一级之后,在后一个下拉框列出下一级的分类,只是我是用于我的分类。其实用html+js+php我是可以弄出来的,只是这样会抛弃yii自带的表单生成方法,也会失去他的验证!
暂时先用自己会的方法弄了,如果有大神知道,再改成YII风格的~

回复内容:

本来想去yiichina问的,但是上面很水,基本只有站长偶尔回复一下!

就是类似于城市三级联动那种,选中一级之后,在后一个下拉框列出下一级的分类,只是我是用于我的分类。其实用html+js+php我是可以弄出来的,只是这样会抛弃yii自带的表单生成方法,也会失去他的验证!
暂时先用自己会的方法弄了,如果有大神知道,再改成YII风格的~

Yii2本身没有联动效果插件,都是用其他类拼接起来的,不过你自己可以写插件。yii2的例子没有,之前写过yii1的联动效果。你不想失去本身的验证,只要input的name跟模型中的一样就行了。

<code>//view
<div class="form-group row">
    <div class="col-md-1">
        <?php echo $form->dropDownList($blog,'mid',CHtml::listData(Metas::model()->parents(),'mid','name'), array (
            'class'=>'form-control', 'empty'=>array('0'=>'请选择类别'), 'onchange'=>'ajaxGetArea(this)')); ?>
        <?php echo $form->error($blog,'mid'); ?>
    </div>
</div>

//js
Yii::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 = "<div class='\"col-md-1\"'><select class='\"form-control\"' name='\"Articles[mid]\"' onchange='\"ajaxGetArea(this)\"'><option value='\"-1\"'>请选择类别</option>";
                $.each(data, function(key, item) {
                    select += "<option value="+item.mid+">"+item.name+"</option>";
                });
                select += "</select></div>";
                //插入到右侧,上一级
                $(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);
</code>
로그인 후 복사

http://www.cnsecer.com/7140.html 不要谢我

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP의 지속적인 사용 : 지구력의 이유 PHP의 지속적인 사용 : 지구력의 이유 Apr 19, 2025 am 12:23 AM

여전히 인기있는 것은 사용 편의성, 유연성 및 강력한 생태계입니다. 1) 사용 편의성과 간단한 구문은 초보자에게 첫 번째 선택입니다. 2) 웹 개발, HTTP 요청 및 데이터베이스와의 우수한 상호 작용과 밀접하게 통합되었습니다. 3) 거대한 생태계는 풍부한 도구와 라이브러리를 제공합니다. 4) 활성 커뮤니티와 오픈 소스 자연은 새로운 요구와 기술 동향에 맞게 조정됩니다.

session_start ()가 여러 번 호출되면 어떻게됩니까? session_start ()가 여러 번 호출되면 어떻게됩니까? Apr 25, 2025 am 12:06 AM

Session_Start ()로 여러 통화를하면 경고 메시지와 가능한 데이터 덮어 쓰기가 발생합니다. 1) PHP는 세션이 시작되었다는 경고를 발행합니다. 2) 세션 데이터의 예상치 못한 덮어 쓰기를 유발할 수 있습니다. 3) Session_status ()를 사용하여 반복 통화를 피하기 위해 세션 상태를 확인하십시오.

IIS 및 PHP의 호환성 : 깊은 다이빙 IIS 및 PHP의 호환성 : 깊은 다이빙 Apr 22, 2025 am 12:01 AM

IIS 및 PHP는 호환 가능하며 FastCGI를 통해 구현됩니다. 1. IIS 구성 파일을 통해 .php 파일 요청을 FastCGI 모듈로 전달합니다. 2. FASTCGI 모듈은 PHP 프로세스를 시작하여 요청을 처리하여 성능과 안정성을 향상시킵니다. 3. 실제 응용 프로그램에서는 구성 세부 사항, 오류 디버깅 및 성능 최적화에주의를 기울여야합니다.

session_start () 함수의 중요성은 무엇입니까? session_start () 함수의 중요성은 무엇입니까? May 03, 2025 am 12:18 AM

session_start () iscrucialinphpformanagingUsersessions.1) itiniteSanewsessionifnoneexists, 2) ResumesAnxistessions, and3) setSasessionCookieForContInuityAcrosrequests, enablingplicationsirecationSerauthenticationAndpersonalizestContent.

YII2에서 오류 프롬프트를 표시하는 방법 YII2에서 오류 프롬프트를 표시하는 방법 Apr 18, 2025 pm 11:09 PM

YII2에는 오류 프롬프트를 표시하는 두 가지 주요 방법이 있습니다. 하나는 yii :: $ app- & amp; gt; errorhandler- & amp; gt; exception ()을 사용하여 예외가 발생할 때 오류를 자동으로 잡고 표시하는 것입니다. 다른 하나는 $ this- & amp; gt; adderror ()를 사용하는 것인데, 이는 모델 유효성 검사가 실패 할 때 오류가 표시되며 $ model- & amp; gt; getErrors ()를 통해 뷰에서 액세스 할 수 있습니다. 보기에서 if ($ errors = $ model- & amp; gt; getErrors ())를 사용할 수 있습니다.

작곡가 : AI를 통한 PHP 개발 지원 작곡가 : AI를 통한 PHP 개발 지원 Apr 29, 2025 am 12:27 AM

AI는 작곡가 사용을 최적화하는 데 도움이 될 수 있습니다. 특정 방법에는 다음이 포함됩니다. 1. 종속성 관리 최적화 : AI는 종속성을 분석하고 최상의 버전 조합을 권장하며 충돌을 줄입니다. 2. 자동화 된 코드 생성 : AI는 모범 사례를 준수하는 composer.json 파일을 생성합니다. 3. 코드 품질 향상 : AI는 잠재적 인 문제를 감지하고 최적화 제안을 제공하며 코드 품질을 향상시킵니다. 이러한 방법은 기계 학습 및 자연어 처리 기술을 통해 구현되어 개발자가 효율성과 코드 품질을 향상시킬 수 있도록 도와줍니다.

Laravel 사용 : PHP로 웹 개발을 간소화합니다 Laravel 사용 : PHP로 웹 개발을 간소화합니다 Apr 19, 2025 am 12:18 AM

Laravel은 다음을 포함하여 웹 개발 프로세스를 최적화합니다. 1. 라우팅 시스템을 사용하여 URL 구조를 관리합니다. 2. 블레이드 템플릿 엔진을 사용하여보기 개발을 단순화하십시오. 3. 대기열을 통해 시간이 많이 걸리는 작업을 처리합니다. 4. eloquentorm을 사용하여 데이터베이스 작업을 단순화하십시오. 5. 모범 사례를 따라 코드 품질과 유지 관리를 향상시킵니다.

PHP 프레임 워크 Laravel과 YII의 차이점은 무엇입니까? PHP 프레임 워크 Laravel과 YII의 차이점은 무엇입니까? Apr 30, 2025 pm 02:24 PM

Laravel과 YII의 주요 차이점은 설계 개념, 기능적 특성 및 사용 시나리오입니다. 1. Laravel은 개발의 단순성과 즐거움에 중점을두고 Eloquentorm 및 Artisan 도구와 같은 풍부한 기능을 제공하며 빠른 개발 및 초보자에게 적합합니다. 2.YII는 성능과 효율성을 강조하고, 고 부하 애플리케이션에 적합하며, 효율적인 Activerecord 및 캐시 시스템을 제공하지만 가파른 학습 곡선이 있습니다.

See all articles