我正在尝试从下拉列表中突出显示所选值,但是当您从列表中选择另一个项目时,它也会突出显示。它会在您选择时继续添加到其他项目。如果选择新的<option>
,如何将其从旧版<option>
中删除?看看我的JSFiddle here。我知道我应该使用if/else
语句,但不确定如何。
答案 0 :(得分:1)
请参阅demo
var highlighted="";
$(function () {
$('#places').change(function () {
//if there is a previous selection, then remove highlight class
if(highlighted!="")
$('select option:contains(' + highlighted+ ')').removeClass('highlight')
//store the current selection in temp var
highlighted=$(this).val();
$('select option:contains(' + $(this).val() + ')').addClass('highlight')
})
})
答案 1 :(得分:1)
答案 2 :(得分:1)
此代码的工作方式类似于魅力,如果您有多个select
:
$(function () {
$('select').change(function () { //Can change the selector to you input class if you want, doesnt matter
$(this).find('.highlight').removeClass('highlight');
$(this).find('option:contains(' + $(this).val() + ')').addClass('highlight');
})
})
小提琴:http://jsfiddle.net/t4Vhd/5/
或强>
$(function () {
$('select').change(function () { //Can change the selector to you input class if you want, doesnt matter
$(this).find('option:contains(' + $(this).val() + ')').addClass('highlight').siblings().removeClass('highlight');
})
})
答案 3 :(得分:0)
在添加类之前,在代码中添加此行。
$(this).find(".highlight").removeClass("highlight");