使用JS删除选项标记

时间:2012-11-15 16:18:48

标签: 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</option>
</select>

我需要使用JS删除guest选项并尝试设置用户选项,如default ...

我尝试使用此JQuery代码删除guest选项,但是失败了:

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

5 个答案:

答案 0 :(得分:1)

怎么样:

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

答案 1 :(得分:1)

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

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

DEMO: http://jsfiddle.net/TTUkS/

如果您的代码位于页面顶部,则它会在元素存在之前运行。

答案 2 :(得分:1)

Removing an item from a select box

删除选项:

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

答案 3 :(得分:0)

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

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

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

$('#auth_user_group_id').val('3');

答案 4 :(得分:0)

您可以使用以下方法检查选项的值:

$('option').each(function(){
if($(this).val() == '1') {
    $(this).remove();
    }
});