我想根据所选选项的值
取消选择多个选择中的所选选项我已经尝试了
jQuery remove selected option from this 和
jQuery remove options from select
<select size="5" id="skills" multiple>
<option value="0">Choose - Skills</option>
<option value="19">Analytics</option>
<option value="20">Android</option>
</select>
<input type="button" id="addskills" value="Add">
<div class="skill-text">
</div>
<script>
$(function(){
$('#addskills').on('click', function(){
$('#skills :selected').each(function(i, selected){
var text = $(this).text();
var value = $(this).val();
$('.skill-text').prepend("<span class='removeskill' data-id='"+value+"'>"+text+"<i class='fa fa-times' ></i></span>");
});
});
$('body').on('click',".removeskill", function(){
var id = $(this).data("id");
//$('body').find("#skills option[value="+id+"]").removeAttr("selected");
//$('#skills :selected').find("option[value="+id+"]").removeAttr("selected");
$('#skills :selected').each(function(i, selected){
if($(this).val() == id){
alert('inside if');
$(this).removeAttr('selected');
}
});
});
})
</script>
答案 0 :(得分:3)
您可以使用$("select option[value='"+id+"']").prop("selected", false);
它将取消选择值设置为id
$('body').on('click',".removeskill", function(){
var id = $(this).data("id");
$(this).remove(); // to remove that item from list
$('#skills :selected').each(function(i, selected){
if($(this).val() == id){
$("select option[value='"+id+"']").prop("selected", false); // to deselect that option from selectbox
}
});
});
答案 1 :(得分:1)
而不是$(this).removeAttr('selected');
,请尝试使用false
将其设置为.prop()
。
$(this).prop('selected', false);
答案 2 :(得分:1)
您可以像这样清除选择列表的值
$('#skills').val('');
答案 3 :(得分:1)
将selectedIndex属性设置为-1。
示例:纯Javascript
var a = document.getElementById('skills');
a.selectedIndex = -1;
答案 4 :(得分:1)
尝试$('#skills option').prop("selected", false);
你需要使用
$('#addskills').on('click', function(){
$('#skills :selected').each(function(i, selected){
var text = $(this).text();
var value = $(this).val();
$('.skill-text').prepend("<span class='removeskill' data-id='"+value+"'>"+text+"<i class='fa fa-times' ></i></span>");
});
$('#skills option').prop("selected", false);
});
答案 5 :(得分:0)
只需将所选索引设置为 -1(用于选择和多选)
$("#skills").prop('selectedIndex',-1);