๋ชฉ์ฐจ
๋ถํธ์คํธ๋ฉ ์ ๋ ํธ .bootstrap-select css ์คํ์ผ ๋ณ๊ฒฝ
๋ถํธ์คํธ๋ฉ์ ์ ๋ ํธ๋ ์ ๋ ํธ ๊ทธ ์์ฒด๋ ์์์ง๋ง, ๋ฉํฐ ์ ๋ ํธ ์ฌ์ฉ ์์ ์ ํ ์ฒดํฌ๊ฐ ๋๋ฌด ์ ์์๋ค.
๋๋๊ตฐ๋ค๋ ํ๊ตญ์ฌ๋๋ค์ ๋ฉํฐ ์ ๋ ํธ์ ์ต์ํ์ง ์์์ checkbox๋ฅผ ํ์๋ก ํ๋ค.
์์ ๊ฐ์ ๋ฉํฐ ์ ๋ ํธ ๋ฐ์ค๋ฅผ ์ ๋ง ์ ์์๋ค.
์ด๊ฒ์ ๋ง์น ์ฒดํฌ๋ฐ์ค๋ก ์ ํํ ๊ฒ์ฒ๋ผ ๋ฐ๊พธ๋ ๊น์ ๋ชจ๋ ์ ํ๊ณผ ๋ชจ๋ ํด์ ๋ฒํผ๋ ๋ง์น ์ ์ฒด ์ ํ ์ฒดํฌ๋ฐ์ค์ธ ๊ฒ์ฒ๋ผ ๋ฐ๊ฟ๋ณด์.
๋ฌผ๋ก ์ด๋ ์ฒดํฌ๋ฐ์ค๋ ์ด๋ฏธ์ง BG๋ค.
์ด ๋ฐฉ์์ ์ธ ๋์ ๊ฐ๋ฐ ์ด์ ์ ๋ชจ๋ ์ ํ๊ณผ ํด์ ํ ๋ ์ ์ฒด ์ฒดํฌ๋ฐ์ค์ checked๋ฅผ ์ ์ดํด์ค ํ์๊ฐ ์๋ค.
bootstrap ์์ฒด์ jquery๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐ์ ํด ์ค๋ค.
๋ถํธ์คํธ๋ฉ ์ ๋ ํธ์ multiple์ ์ค ๋ data-actions-box="true"๋ฅผ ํ์ฑํ์์ผ์ bs-actionsbox๊ฐ ์กด์ฌํ ๋ ํ์ ์ธ์ ์ ํ์๋ก ๋ฉํฐ ์ ๋ ํธ ์ ๋ฌด๋ฅผ ํ๋จํด์ ์คํ์ผ์ ๋ฐ๊พผ๋ค.
data-actions-box="true"๋ฅผ ์ฐ์ง ์์ผ๋ฉด ๊ทธ๋ฅ ํ๋ฒํ ๋ถํธ์คํธ๋ฉ ์ ๋ ํธ ๋ฐ์ค๋ก ๋ณด์ด๋๋ก ํ๋ค.
html
<select multiple data-actions-box="true" class="form-control selectpicker noborder"
data-width="100px" title="๊ฒ์๊ตฌ๋ถ">
<option>์ ๋ชฉ</option>
<option>ํฌ์คํธ๋ด์ฉ</option>
<option>ํ๊ทธ</option>
<option>๋ฑ๋ก์</option>
<option>์์ ์</option>
</select></li>
SCSS
.bootstrap-select {
.bs-actionsbox {
padding: 0;
& button {
&:hover,
&:focus {
background: #ccc url(/assets/images/bg/chkbox_on.png) 1.5rem center no-repeat !important;
}
}
}
& button {
&:not(.bs-placeholder)+.dropdown-menu {
& .bs-select-all {
display: none;
}
& .bs-deselect-all {
text-align: left;
padding: 0.25rem 0.5rem 0.25rem 3.5rem;
width: 100%;
background: url(/assets/images/bg/chkbox_on.png) 1.5rem center no-repeat;
}
}
&.bs-placeholder+.dropdown-menu {
& .bs-deselect-all {
display: none;
}
& .bs-select-all {
text-align: left;
padding: 0.25rem 0.5rem 0.25rem 3.5rem;
width: 100%;
background: #fff url(/assets/images/bg/chkbox.png) 1.5rem center no-repeat;
}
}
}
& .bs-actionsbox+.inner ul.dropdown-menu li {
& a:not(.selected) {
& span.check-mark {
display: inline-block;
margin-right: 5px;
&:after {
background: #fff url(/assets/images/bg/chkbox.png) left center no-repeat;
border: 0 none;
transform: rotate(0deg);
width: 18px;
height: 18px;
border-radius: 2px;
}
}
}
& a.selected {
& span.check-mark {
position: relative !important;
display: inline-block !important;
margin-right: 5px;
top: auto !important;
right: auto !important;
&:after {
background: #fff url(/assets/images/bg/chkbox_on.png) left center no-repeat;
border: 0 none;
transform: rotate(0deg);
width: 18px;
height: 18px;
border-radius: 2px;
}
}
}
}
}
CSS
.bootstrap-select .bs-actionsbox {
padding: 0;
}
.bootstrap-select .bs-actionsbox button:hover, .bootstrap-select .bs-actionsbox button:focus {
background: #ccc url(/assets/images/bg/chkbox_on.png) 1.5rem center no-repeat !important;
}
.bootstrap-select button:not(.bs-placeholder) + .dropdown-menu .bs-select-all {
display: none;
}
.bootstrap-select button:not(.bs-placeholder) + .dropdown-menu .bs-deselect-all {
text-align: left;
padding: 0.25rem 0.5rem 0.25rem 3.5rem;
width: 100%;
background: url(/assets/images/bg/chkbox_on.png) 1.5rem center no-repeat;
}
.bootstrap-select button.bs-placeholder + .dropdown-menu .bs-deselect-all {
display: none;
}
.bootstrap-select button.bs-placeholder + .dropdown-menu .bs-select-all {
text-align: left;
padding: 0.25rem 0.5rem 0.25rem 3.5rem;
width: 100%;
background: #fff url(/assets/images/bg/chkbox.png) 1.5rem center no-repeat;
}
.bootstrap-select .bs-actionsbox + .inner ul.dropdown-menu li a:not(.selected) span.check-mark {
display: inline-block;
margin-right: 5px;
}
.bootstrap-select .bs-actionsbox + .inner ul.dropdown-menu li a:not(.selected) span.check-mark:after {
background: #fff url(/assets/images/bg/chkbox.png) left center no-repeat;
border: 0 none;
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
width: 18px;
height: 18px;
border-radius: 2px;
}
.bootstrap-select .bs-actionsbox + .inner ul.dropdown-menu li a.selected span.check-mark {
position: relative !important;
display: inline-block !important;
margin-right: 5px;
top: auto !important;
right: auto !important;
}
.bootstrap-select .bs-actionsbox + .inner ul.dropdown-menu li a.selected span.check-mark:after {
background: #fff url(/assets/images/bg/chkbox_on.png) left center no-repeat;
border: 0 none;
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
width: 18px;
height: 18px;
border-radius: 2px;
}
๋๊ธ