가장 중요한 문제는 플러그인 (bootstrap-select)에 실제로 설정 한 방법이 없다는 것입니다. 단일 선택을 사용하는 경우 (속성은), 값을 선택할 때 bs-placeholder
클래스를 추가 할 수 있습니다.이 값을 선택하면 (0120)를 사용하여 해당 값을 @input-color-placeholder
변수로 설정하면 색상 :
.bootstrap-select {
...
// The selectpicker button
> .dropdown-toggle {
...
&.bs-placeholder,
&.bs-placeholder:hover,
&.bs-placeholder:focus,
&.bs-placeholder:active { color: @input-color-placeholder; }
}
...
}
이 유일한 문제는 그것이 다수의 선택 인 경우 플러그인 클래스를 추가하지 않습니다, 그래서 당신은 값이 선택되어 있는지 확인하려면 창조적 조금 얻을해야한다는 것입니다. 불행히도 내가 볼 수있는 유일한 DOM 속성 조작은 기본적으로 제목이 .dropdown-toggle
인 변경입니다.
.bootstrap-select > .dropdown-toggle[title=Select],
.bootstrap-select > .dropdown-toggle[title=Select]:hover,
.bootstrap-select > .dropdown-toggle[title=Select]:focus,
.bootstrap-select > .dropdown-toggle[title=Select]:active { color: darkgrey; }
이제 인 경우 : 당신은 CSS로 초기 title
속성을 하드 코딩 괜찮다면 제목과 같이 특정 값 (https://jsfiddle.net/gxvqa5xa/) 인 경우, 당신은 색상을 변경하는 클래스를 추가 할 수 있습니다 너무 더럽거나 신뢰할 수없는 플러그인은 이벤트 리스너를 지원합니다, 그래서 당신은 (나는이 방법을 선호), 변경 수신이 비어 있는지 확인하고 있는지 클래스를 추가 할 수 있습니다
$('.selectpicker').on('changed.bs.select', function (e) {
\t $(this).prevAll('.dropdown-toggle').toggleClass('bs-placeholder', this.value === '');
}).trigger('changed.bs.select');
@import url(https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css);
@import url(https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.11.0/css/bootstrap-select.css);
*{outline:none !important;}
.bootstrap-select > .dropdown-toggle.bs-placeholder,
.bootstrap-select > .dropdown-toggle.bs-placeholder:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder:active { color: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.11.0/js/bootstrap-select.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script>
<select name="box1" class="selectpicker form-control" title="Select">
<option value="option1"> Option 1 </option>
<option value="option2"> Option 2 </option>
<option value="option3"> Option 3 </option>
</select>
<select name="box2" multiple class="selectpicker form-control" title="Select">
<option value="option1"> Option 1 </option>
<option value="option2"> Option 2 </option>
<option value="option3"> Option 3 </option>
</select>
색상을 변경하려면 (title 속성을 사용할 때) placeholder의 스타일 규칙을 간단히 추가 할 수 있습니다. –
@JosephMarikle 해결책으로 답을 쓸 수 있습니까? – OneMoreQuestion
@OneMoreQuestion 'button.bs-placeholder [역할 = '버튼']> 스팬 { 색상 : darkgrey; }' –