yii 1.1 select2 jquery конфликтует с yii jquery

Я работаю над проектом в yii, в котором я использую расширение jquery select2, я создал выпадающий список с возможностью поиска, используя расширение select2 в localhost/business/package/create странице, теперь, когда я хочу создать пакет, выпадающий список просто становится выпадающим, недоступным для поиска, если я не удаляю эту строку из своего макета <script src="<?php echo Yii::app()->request->baseUrl;?>/js/jquery.js"></script>, После этого я могу создать пакет с моим раскрывающимся списком, но остальные страницы не прокручиваются. Если я открою источник просмотра package/create эти файлы уже добавлены

<script type="text/javascript" src="/businessadvisor/assets/f81f8ab/jquery.js"></script>
<script type="text/javascript" src="/businessadvisor/assets/1075462/select2.js"></script>

так что суть в том, что из-за одного файла мои остальные страницы не прокручиваются, не щелкают и т. д., так каково решение для разрешения этого конфликта.

2 ответа

Хорошо, вот ответ. Проблема была, когда я закомментировал <script src="<?php echo Yii::app()->request->baseUrl;?>/js/jquery.js"></script> из моего admin.php (мой макет), выпадающий в package/createначните работать, пока остальные страницы застрянут, не прокручивая и не нажимая. поэтому один файл создавал целую проблему, чтобы решить эту проблему, вам нужно custom.jsи заменить $ с jQuery и сохрани это. Теперь у меня были файлы ниже под моим виджетом нижнего колонтитула.

<!-- <script src="<?php echo Yii::app()->request->baseUrl;?>/js/jquery.js"></script>-->

        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/bootstrap.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/slimmenu.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/bootstrap-datepicker.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/bootstrap-timepicker.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/nicescroll.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/dropit.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/ionrangeslider.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/icheck.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/fotorama.js"></script>
        <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/typeahead.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/card-payment.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/magnific.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/owl-carousel.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/fitvids.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/tweet.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/countdown.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/gridrotator.js"></script>
        <script src="<?php echo Yii::app()->request->baseUrl;?>/js/custom.js"></script>

Я закомментировал <!-- <script src="<?php echo Yii::app()->request->baseUrl;?>/js/jquery.js"></script>-->JQuery и в заголовке моего макета, имеющего эти файлы

<head>
    <title>Business Advisor,Where you give ratings and reviews</title>


    <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
    <meta name="keywords" content="Template, html, premium, themeforest" />
    <meta name="description" content="Traveler - Premium template for travel companies">
    <meta name="author" content="Tsoy">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!-- GOOGLE FONTS -->
    <link href='http://fonts.googleapis.com/css?family=Roboto:400,300,100,500,700' rel='stylesheet' type='text/css'>
    <link href='http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,300,600' rel='stylesheet' type='text/css'>
    <!-- /GOOGLE FONTS -->
<link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl;?>/css/bootstrap.min.css">
    <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl;?>/css/font-awesome.css">
    <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl;?>/css/icomoon.css">
    <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl;?>/css/styles.css">
    <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl;?>/css/mystyles.css">
    <script src="<?php echo Yii::app()->request->baseUrl;?>/js/modernizr.js"></script>

</head>

так что я сделал, я скопировал этот код

<?php
    $cs = Yii::app()->getClientScript();
    $cs->registerCoreScript('jquery');?> <!-- put these files in admin.php so that conflcit will resolve from select2 extension select2.php-->

от моего select2.php и вставьте в мой заголовок, как это.

<head>
    <title>Business Advisor,Where you give ratings and reviews</title>


    <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
    <meta name="keywords" content="Template, html, premium, themeforest" />
    <meta name="description" content="Traveler - Premium template for travel companies">
    <meta name="author" content="Tsoy">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!-- GOOGLE FONTS -->
    <link href='http://fonts.googleapis.com/css?family=Roboto:400,300,100,500,700' rel='stylesheet' type='text/css'>
    <link href='http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,300,600' rel='stylesheet' type='text/css'>
    <!-- /GOOGLE FONTS -->
<link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl;?>/css/bootstrap.min.css">
    <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl;?>/css/font-awesome.css">
    <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl;?>/css/icomoon.css">
    <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl;?>/css/styles.css">
    <link rel="stylesheet" href="<?php echo Yii::app()->request->baseUrl;?>/css/mystyles.css">
    <script src="<?php echo Yii::app()->request->baseUrl;?>/js/modernizr.js"></script>
<?php
$cs = Yii::app()->getClientScript();
$cs->registerCoreScript('jquery');?> <!-- put these files in admin.php so that conflcit will resolve from select2 extension select2.php-->

</head>

Теперь JQuery был зарегистрирован. и теперь моя каждая страница, даже package/createработает, все прокручивается, никакого конфликта нет. Ура:)

Вы включаете JQuery несколько раз, поэтому второе включение перезапишет все уже включенные плагины.

Вы можете использовать scriptMap Возможность указать местоположение jQuery для всего сайта.

'components'=>array(

...
'clientScript'=>array (
    'scriptMap'=>array(   
        'jquery.js'=>'//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js',
    ),
    ...
),
...
),
Другие вопросы по тегам