Javascript 用JS删除选项标记
我生成了以下代码:Javascript 用JS删除选项标记,javascript,jquery,ajax,Javascript,Jquery,Ajax,我生成了以下代码: <select class="generic-widget" id="auth_user_group_id" name="group_id"> <option value=""></option> <option value="2">admin</option> <option value="3">user</option> <option value="1">guest</
<select class="generic-widget" id="auth_user_group_id" name="group_id">
<option value=""></option>
<option value="2">admin</option>
<option value="3">user</option>
<option value="1">guest</option>
</select>
管理
用户
客人
我需要使用JS删除来宾选项,并尝试将用户选项设置为默认值
我尝试用JQuery代码删除guest选项,但失败了:
<script>
$('option').each(function(){
if($(this).attr('value') == '1') {
$(this).remove();
}
});
</script>
$('option')。每个(函数(){
if($(this).attr('value')=='1'){
$(this.remove();
}
});
关于:
$('#auth_user_group_id > option[value="1"]').remove();
只要在DOM就绪后运行代码,就可以正常工作
// v----this handler will run after the DOM has loaded
$(function() {
$('option').each(function(){
if($(this).attr('value') == '1') {
$(this).remove();
}
});
});
演示:
如果您的代码位于页面顶部,那么它将在元素存在之前运行。您可以在选择器中设置值条件:
$('#auth_user_group_id option[value="1"]').remove();
然后,您可以使用val
方法选择一个选项:
$('#auth_user_group_id').val('3');
您可以使用以下选项检查选项项的值:
$('option').each(function(){
if($(this).val() == '1') {
$(this).remove();
}
});
删除一个选项:
$("#auth_user_group_id option[value='1']").remove();
在我看来,这种方式更具可读性:
if($(this).val()=='1')…
@Mic:我同意,但关键是OP的代码的编写方式是正确的。所以代码本身不需要修复,但(可能)它只需要在DOM准备好后运行。@Christian_Espinoza:你是说如果你只是用上面的代码替换问题中的代码,它会突然起作用?那没有道理,。