jQuery按文本查找选项并将其移至select的顶部

时间:2013-08-16 11:31:21

标签: jquery

我正在尝试通过它的文本在select中找到一个选项,并将该选项移到select的顶部,但我似乎无法使用版本1.9.1。

// move 'untagged' option to top of select
jQuery('#logical_interface_vlan_id option:[text="Untagged"]').prependTo(jQuery('#logical_interface_vlan_id'));

logical_interface_vlan_id是select的ID,Untagged是我要查找的选项文字。

上面给出了一个无法识别的表达式语法错误。

我也试过这个,没有错误,但它也没有做任何事情:

jQuery('#logical_interface_vlan_id').find('option[text="Untagged"]').prependTo(jQuery('#logical_interface_vlan_id'));

2 个答案:

答案 0 :(得分:3)

您可以循环选项,然后删除并以此方式添加

jQuery('#logical_interface_vlan_id option').each(function() {
        if (jQuery(this).text() === 'Untagged') {
            var option = jQuery(this);
            jQuery(this).remove();
            jQuery('#logical_interface_vlan_id').prepend(option);
        }
    });

答案 1 :(得分:0)

假设您的选择的ID为 - #osmBodyContent_ddlPosition

首先获取所选选项并将其存储在变量中 -

var selectedOpt = $("#osmBodyContent_ddlPosition option:selected");

然后删除所选选项 -

$(selectedOpt ).remove();

现在将它添加到顶部 -

$("#osmBodyContent_ddlPosition").prepend(selectedOpt)