I'm trying to plete my website with some java's plugin, I'm on Symfony 4 and I use the CDN bootstrap twitter.
When I put the select2 plugin into the templates all is working properly, the select2 plugin does apply correctly.
However I don't want to load select2 directly from the templates I want to run it from app.js
but it didn't work properly, the select2 plugin is activated but it's weird, I'll show you the result below.
There is my app.js code:
let $ = require('jquery');
require('../css/app.css');
require('select2');
$('select').select2();
console.log('Hello Webpack Encore! Edit me in assets/js/app.js');
I'm sorry for my bad English, I'll thank you all for reading my post to the end!
I'm trying to plete my website with some java's plugin, I'm on Symfony 4 and I use the CDN bootstrap twitter.
When I put the select2 plugin into the templates all is working properly, the select2 plugin does apply correctly.
However I don't want to load select2 directly from the templates I want to run it from app.js
but it didn't work properly, the select2 plugin is activated but it's weird, I'll show you the result below.
There is my app.js code:
let $ = require('jquery');
require('../css/app.css');
require('select2');
$('select').select2();
console.log('Hello Webpack Encore! Edit me in assets/js/app.js');
I'm sorry for my bad English, I'll thank you all for reading my post to the end!
Share Improve this question edited Sep 1, 2019 at 9:31 Nemanja Jeremic 3444 silver badges18 bronze badges asked Sep 1, 2019 at 9:22 Séverine FSéverine F 731 gold badge1 silver badge7 bronze badges 4- 2 You may need to also include the select2 css. Take a look at stackoverflow./questions/38473207/… – apokryfos Commented Sep 1, 2019 at 9:28
- Thanks you for you fast reply:edit ! I tryed the new code, but with no succes :/ my code is now let $ = require('jquery'); require('../css/app.css'); require('select2'); require('select2/dist/css/select2.css') $('select').select2() – Séverine F Commented Sep 1, 2019 at 9:50
- It seems like my css is not know by app.js – Séverine F Commented Sep 1, 2019 at 11:07
- If you're using webpack make sure you also have css-loader – apokryfos Commented Sep 2, 2019 at 8:44
2 Answers
Reset to default 5You need to add 3 of the following references
$('select').select2({ width: '100%', placeholder: "Select an Option", allowClear: true });
<script src="https://cdnjs.cloudflare./ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare./ajax/libs/select2/4.0.10/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare./ajax/libs/select2/4.0.10/css/select2.min.css" rel="stylesheet"/>
<select id='myselect'>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
</select>
Try this select2 cdn example - https://bbbootstrap./snippets/select2-option-cdn-31353331
<!doctype html>
<html>
<head>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<title>Snippet - BBBootstrap</title>
<link href='https://maxcdn.bootstrapcdn./bootstrap/4.0.0/css/bootstrap.min.css' rel='stylesheet'>
<link href='' rel='stylesheet'>
<style>body {
background: #eee
}
.form-control {
border-radius: 0;
box-shadow: none;
border-color: #d2d6de
}
.select2-hidden-accessible {
border: 0 !important;
clip: rect(0 0 0 0) !important;
height: 1px !important;
margin: -1px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important
}
.form-control {
display: block;
width: 100%;
height: 34px;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s
}
.select2-container--default .select2-selection--single,
.select2-selection .select2-selection--single {
border: 1px solid #d2d6de;
border-radius: 0;
padding: 6px 12px;
height: 34px
}
.select2-container--default .select2-selection--single {
background-color: #fff;
border: 1px solid #aaa;
border-radius: 4px
}
.select2-container .select2-selection--single {
box-sizing: border-box;
cursor: pointer;
display: block;
height: 28px;
user-select: none;
-webkit-user-select: none
}
.select2-container .select2-selection--single .select2-selection__rendered {
padding-right: 10px
}
.select2-container .select2-selection--single .select2-selection__rendered {
padding-left: 0;
padding-right: 0;
height: auto;
margin-top: -3px
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
color: #444;
line-height: 28px
}
.select2-container--default .select2-selection--single,
.select2-selection .select2-selection--single {
border: 1px solid #d2d6de;
border-radius: 0 !important;
padding: 6px 12px;
height: 40px !important
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height: 26px;
position: absolute;
top: 6px !important;
right: 1px;
width: 20px
}</style>
<script type='text/javascript' src='https://cdnjs.cloudflare./ajax/libs/jquery/3.2.1/jquery.min.js'></script>
<script type='text/javascript' src='https://cdn.jsdelivr/npm/[email protected]/dist/umd/popper.min.js'></script>
<script type='text/javascript' src='https://maxcdn.bootstrapcdn./bootstrap/4.0.0/js/bootstrap.min.js'></script>
<script type='text/javascript'>$(document).ready(function() {
$('.select2').select2({
closeOnSelect: false
});
});</script>
</head>
<body oncontextmenu='return false' class='snippet-body'>
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare./ajax/libs/select2/4.0.3/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare./ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<div class="container mt-5">
<div class="row">
<div class="col-md-6">
<div class="form-group"> <label>Minimal</label> <select class="form-control select2 select2-hidden-accessible" style="width: 100%;" tabindex="-1" aria-hidden="true">
<option selected="selected">Alabama</option>
<option>Alaska</option>
<option>California</option>
<option>Delaware</option>
<option>Tennessee</option>
<option>Texas</option>
<option>Washington</option>
</select> </div> <!-- /.form-group -->
<div class="form-group"> <label>Disabled</label> <select class="form-control select2 select2-hidden-accessible" disabled="" style="width: 100%;" tabindex="-1" aria-hidden="true">
<option selected="selected">Alabama</option>
<option>Alaska</option>
<option>California</option>
<option>Delaware</option>
<option>Tennessee</option>
<option>Texas</option>
<option>Washington</option>
</select> </div> <!-- /.form-group -->
</div> <!-- /.col -->
<div class="col-md-6">
<div class="form-group"> <label>Multiple</label> <select class="form-control select2 select2-hidden-accessible" multiple="" data-placeholder="Select a State" style="width: 100%;" tabindex="-1" aria-hidden="true">
<option>Alabama</option>
<option>Alaska</option>
<option>California</option>
<option>Delaware</option>
<option>Tennessee</option>
<option>Texas</option>
<option>Washington</option>
</select> </div> <!-- /.form-group -->
<div class="form-group"> <label>Disabled Result</label> <select class="form-control select2 select2-hidden-accessible" style="width: 100%;" tabindex="-1" aria-hidden="true">
<option selected="selected">Alabama</option>
<option>Alaska</option>
<option disabled="disabled">California (disabled)</option>
<option>Delaware</option>
<option>Tennessee</option>
<option>Texas</option>
<option>Washington</option>
</select> </div> <!-- /.form-group -->
</div> <!-- /.col -->
</div>
</div>
</body>
</html>