jquery 怎样去除select 中相同 value 的option

例如:<selectid="comNature"><optionvalue="事业">事业</option><optionvalue="事业">事业</option><o... 例如:
<select id="comNature" >
<option value="事业">事业</option>
<option value="事业">事业</option>
<option value="国有企业">国有企业</option>
</select>
展开
 我来答
learneroner
高粉答主

2015-11-05 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:6533万
展开全部

思路:遍历option,根据当前option的value属性查找所有value相同的option对象,删除其中index大于0的对象(即重复选项)即可。实例演示如下:

1、HTML结构

<select id="test">

    <option value="1">语文</option>

    <option value="2">数学</option>

    <option value="1">语文</option>    

    <option value="2">数学</option>

    <option value="3">英语</option>

    <option value="2">数学</option>

</select>

<input type="button" value="删除重复项">

2、jquery代码

$(function(){

    $(":button").click(function() {

        $("#test option").each(function() {

            var val = $(this).val();

            if ( $("#test option[value='" + val + "']").length > 1 )

                $("#test option[value='" + val + "']:gt(0)").remove();

        });

    });

});

3、效果演示

fantasy_wl
2012-11-30 · TA获得超过904个赞
知道小有建树答主
回答量:1287
采纳率:100%
帮助的人:1352万
展开全部
var $select = $("#comNature");
var $options = $select.find("option");
for(var i=0,max=$options.length;i<max;i++){
var $item1 = $options.eq(i);

for(var j=0;j<max;j++){

if(i==j){

continue;

}

var $item1 = $options.eq(j);
if($item1.attr("value") === $item2.attr("value")){
i > j ? $item1.remove() : $item2.remove();
}
}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式