1

我有这个生成的代码:

<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 代码删除来宾选项,但失败了:

<script>
$('option').each(function(){
    if($(this).attr('value') == '1') {
        $(this).remove();
        }
    });
</script>
4

5 回答 5

1

从选择框中删除项目

删除一个选项:

$("#auth_user_group_id option[value='1']").remove();
于 2012-11-15T16:24:10.380 回答
1

关于什么:

$('#auth_user_group_id > option[value="1"]').remove();
于 2012-11-15T16:20:31.377 回答
1

只要在 DOM 准备好后运行代码,就可以正常工作。

   // v----this handler will run after the DOM has loaded
$(function() {
    $('option').each(function(){
        if($(this).attr('value') == '1') {
            $(this).remove();
        }
    });
});

演示:http: //jsfiddle.net/TTUkS/

如果您的代码放在页面顶部,那么它会在元素存在之前运行。

于 2012-11-15T16:20:56.483 回答
0

您可以将值条件放在选择器中:

$('#auth_user_group_id option[value="1"]').remove();

然后您可以使用该val方法选择一个选项:

$('#auth_user_group_id').val('3');
于 2012-11-15T16:21:48.900 回答
0

您可以通过以下方式检查选项项的值:

$('option').each(function(){
if($(this).val() == '1') {
    $(this).remove();
    }
});
于 2012-11-15T16:21:59.010 回答