2017-10-17 20 views
0

私はインターネットで見つかったSelectクラスを使用していますが、問題は選択したオプションを選択する際に、angluar ng-repeatを使用してクリック可能ではありませんが、手動で作成した場合は動的値も使用してクリックできます。Ng-IncludeコードでNg-Repeatが正常に動作しない

これはコードです:

MainFile:

... 
    <div id="SiteList" ng-controller="SiteController as siteCtrl" ng-if="masterCtrl.isUserLogged()" ng-include="'Select2/index.html'" ng-init="siteCtrl.getSites()" > 
... 

これは、Selectセレクト/ index.htmlを ...

<body> 
    <div class="drop"> 
    <div class="option active placeholder" data-value="placeholder"> 
    Seleziona un sito 
    </div> 
    <div class="option" ng-repeat="sito in siteCtrl.siti" data-value="{{sito.name}}">{{sito.name}}</div> 

</div> 
    <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> 

    <script src="Select2/js/index.js"></script> 

</body> 

です...

次にSelectセレクト/js/index.js

$(document).ready(function() { 
    $(".drop .option").click(function() { 
    var val = $(this).attr("data-value"), 
     $drop = $(".drop"), 
     prevActive = $(".drop .option.active").attr("data-value"), 
     options = $(".drop .option").length; 
    $drop.find(".option.active").addClass("mini-hack"); 
    $drop.toggleClass("visible"); 
    $drop.removeClass("withBG"); 
    $(this).css("top"); 
    $drop.toggleClass("opacity"); 
    $(".mini-hack").removeClass("mini-hack"); 
    if ($drop.hasClass("visible")) { 
     setTimeout(function() { 
     $drop.addClass("withBG"); 
     }, 400 + options*100); 
    } 
    triggerAnimation(); 
    if (val !== "placeholder" || prevActive === "placeholder") { 
     $(".drop .option").removeClass("active"); 
     $(this).addClass("active"); 
    }; 
    }); 

    function triggerAnimation() { 
    var finalWidth = $(".drop").hasClass("visible") ? 22 : 20; 
    $(".drop").css("width", "24em"); 
    setTimeout(function() { 
     $(".drop").css("width", finalWidth + "em"); 
    }, 400); 
    } 
}); 

誰でもこの問題を解決する方法はありますか?

+0

をスクリプトがロードされ、body要素がトップレベルからの1とredonantありませんが、IFRAMEではありません。 jQuery/Vanilla /その他から再利用可能なコンポーネントを作成する場合は、angularJSの 'directives'ドキュメントを確認してください。 – Walfrat

答えて

0

Angular.jsとjQueryを混同しないでください。

代わりに、Selectセレクトの角度バージョンを使用することができます:NG-含ま

https://github.com/angular-ui/ui-select

関連する問題