내 페이지에 여러 개의 Select 문이 있으며 옵션이 모두 기본적으로 아래 표시된 순위 시스템입니다. 내가 선택한 것은 일단 선택되면 모든 select 문에서 각 옵션을 강조 표시하는 것입니다. 즉, 첫 번째 선택에서 "1"을 선택하면 모든 선택 문에서 강조 표시됩니다.jQuery : 여러 Select 문에서 옵션 강조 표시
나는 아래 코드와 매우 흡사하다고 생각했지만 처음 선택했을 때만 작동하는 것으로 보인다. 일단 모든 옵션이 사용되면 최종 결과는 모든 옵션이 회색 배경으로 강조 표시됩니다.
저는 jQuery 1.5를 사용하고 있습니다.
.pick { background-color: #CCC; }
<table>
<tr>
<td>Drop down 1</td>
<td><select id="dd1" name="dd1">
<option value=""></option>
<option value="1"> 1 </option>
<option value="2"> 2 </option>
<option value="3"> 3 </option>
<option value="4"> 4 </option>
<option value="5"> 5 </option>
</select>
</td>
</tr>
<tr>
<td>Drop down 2</td>
<td><select id="dd2" name="dd2">
<option value=""></option>
<option value="1"> 1 </option>
<option value="2"> 2 </option>
<option value="3"> 3 </option>
<option value="4"> 4 </option>
<option value="5"> 5 </option>
</select>
</td>
</tr>
<tr>
<td>Drop down 3</td>
<td><select id="dd3" name="dd3">
<option value=""></option>
<option value="1"> 1 </option>
<option value="2"> 2 </option>
<option value="3"> 3 </option>
<option value="4"> 4 </option>
<option value="5"> 5 </option>
</select>
</td>
</tr>
</table>
<script type="text/javascript">
$(document).ready(function() {
$("select[name*='dd']").change(onSelectChangeDD);
});
function onSelectChangeDD() {
var selected = $("select[name*='dd'] option:selected");
var test = $(this).val();
$("select[name*='dd']").children().each(function() {
// remove all the highlights
$(this).removeClass("pick");
});
$("select[name*='dd']").children().each(function() {
// highlight the selections
if ($(this).val() == test) {
$(this).addClass('pick');
}
});
}
</script>
@JamesP 그것을 시도 할 수 있습니다 : 나는 addClass''경고 근처에 배치하고이를 세 번이라는있어,하지만 IE는 옵션은 배경을 표시하지 않았다. IE 문제인 것 같아요. 어떻게 해결할 수 있을지 모르겠군요! – Andomar
나는'addclass' 함수에 문제가있는 것 같다. 브라우저가 새로 고쳐야 할 것과 거의 같은 것입니다 ... – JamesP