我想首先从下拉列表中删除一个项目,但是在选择第二个项目之后,在下面的示例中,如果我选择option1将删除option1,但我需要选择option1(不会删除任何内容) ,同时选择option4(现在将删除选项1):
<select name="selectBox" class="sel" id="selectBox">
<option value="0">Select</option>
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
<option value="option4">option4</option>
</select>
这是代码:
$(".sel").change(function () {
var getVal = $(this).val();
$("#selectBox option[value="+getVal+"]").remove();
});
答案 0 :(得分:2)
如果您想删除以前选择的选项,请执行以下操作
var getVal;
$(".sel").change(function() {
// checking previous value is defined or not
if (getVal)
// if defined removing the element
$("#selectBox option[value=" + getVal + "]").remove();
// updating selected option value to variable
getVal = $(this).val();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="selectBox" class="sel" id="selectBox">
<option value="0">Select</option>
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
<option value="option4">option4</option>
</select>
使用 :selected
选择器
var getVal;
$(".sel").change(function() {
// removing previous selected option
$(getVal).remove();
// updating selected option object to variable
getVal = $(':selected', this);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="selectBox" class="sel" id="selectBox">
<option value="0">Select</option>
<option value="option1">option1</option>
<option value="option2">option2</option>
<option value="option3">option3</option>
<option value="option4">option4</option>
</select>
更新:最初使用 change()
触发更改事件,以便在需要时获取默认值。
$(".sel").change(function() {
//.............
}).change();
//--^--
答案 1 :(得分:0)
试试这种方式
var theValue;
$('.sel').focus(function () {
theValue = $(this).attr('value');
});
$(".sel").change(function () {
$('.sel option[value=' + theValue + ']').remove();
theValue = $(this).attr('value');
});