css如何去除select在ie中的下拉三角。

css如何去除select在ie中的下拉三角。,第1张

<style>
select{
position:relative; z-index:1;
   appearance:none;
-moz-appearance:none; / Firefox /
-webkit-appearance:none; / Safari 和 Chrome /
}
dispear{
width: 30px;
height: 20px;
background: #FFF;
position: relative;
z-index: 4;
left: 35px;
top: -20px;
}
</style>

<body>

<select>

<option>百度</option>

<option>ffff</option>

<option>ffff</option>

<option>ffff</option>

<option>ffff</option>

<option>ffff</option>

<option>ffff</option>

<option>ffff</option>

</select>

<div class="dispear"></div></body>

这个问题最好应该在后台中处理掉——创建select元素之前就过滤掉重复的元素。如果必须要在页面中处理,方法也比较多,这里提供一个使用jquery选择器 :contains 的方法:

$(":contains(text)");  // 选取包含指定字符串的元素

这样就可以选出包含重复字符串的option元素,然后将其删掉

示例代码如下

创建Html元素

<div class="box">
<span>点击按钮删除select控件中的重复元素:</span><br>
<div class="content">
<select >
<option>1</option>
<option>1</option>
<option>2</option>
<option>2</option>
<option>3</option>
</select>
</div>
<input type="button" value="删除重复项">
</div>

设置css样式

divbox{width:300px;padding:20px;margin:20px;border:4px dashed #ccc;}
divbox span{color:#999;font-style:italic;}
divcontent{width:250px;margin:10px 0;padding:20px;border:2px solid #ff6666;}
select{width:150px;height:30px;margin:5px 0;border:1px solid #6699FF;}
input[type='button']{height:30px;margin:10px;padding:5px 10px;}

编写jquery代码

$(function(){
$(":button")click(function() {
$("select option")each(function() {
text = $(this)text();
if($("select option:contains("+text+")")length > 1)
$("select option:contains("+text+"):gt(0)")remove();
});
});
})

观察效果

初始状态

点击按钮删除重复项之后

垃圾前排答案,看劳资来答。

1、设置outline: none;谷歌浏览器搞定;

2、解决火狐设置outline: none;依然有虚线字体颜色框的问题:

思路:用阴影来替换文本,只针对火狐

select:-moz-focusring {

color: transparent;

text-shadow: 0 0 0 #000;

}

非原创,Stack Overflow找到的答案,原链接:去除火狐select虚线边框

能fq的直接点链接吧

这篇文章主要介绍了jQuery如何取得设置清空select选择的文本与值,下面有个不错的示例,需要的朋友可以参考下
获取select :
获取select 选中的 text :

1

$("#ddlregtype")find("option:selected")text();
获取select选中的 value:

1

$("#ddlregtype ")val();
获取select选中的索引:

1

$("#ddlregtype ")get(0)selectedindex;
设置select:
设置select 选中的索引:

1

$("#ddlregtype ")get(0)selectedindex=index;//index为索引值
设置select 选中的value:

1
2
3

$("#ddlregtype ")attr("value","normal“);
$("#ddlregtype ")val("normal");
$("#ddlregtype ")get(0)value = value;
设置select 选中的text:

1
2
3
4
5
6
7
8
9

var count=$("#ddlregtype option")length;
for(var i=0;i<count;i++)
{ if($("#ddlregtype ")get(0)options[i]text == text)
{
$("#ddlregtype ")get(0)options[i]selected = true;
break;
}
}
$("#select_id option[text='jquery']")attr("selected", true);
设置select option项:

$("#select_id")append("<option value='value'>text</option>"); //添加一项option
$("#select_id")prepend("<option value='0'>请选择</option>"); //在前面插入一项option
$("#select_id option:last")remove(); //删除索引值最大的option
$("#select_id option[index='0']")remove();//删除索引值为0的option
$("#select_id option[value='3']")remove(); //删除值为3的option
$("#select_id option[text='4']")remove(); //删除text值为4的option
清空 select:
$("#ddlregtype ")empty();
工作需要,要获得两个表单中的值。如图:
如何获得从左边选择框添加到右边选择框中的值?我想了想用网页特效可以获得,这里用了比较流行的jquery。
js代码如下:

//获取所有属性值 var item = $("#select1")val();
$(function(){
$('#select1')each( //获得select1的所有值
function(){
$('button')click(function(){
alert($('#select2')val()); //获得select2中的select1值
});
});
})
</script>
值得注意的是,不能直接写成

$(function(){
$('#select2')each( //获得select1的所有值,因为前面讲选项从左边添加到右边,jquery其实并没有真正将值从左边传到右边。
function(){
$('button')click(function(){
alert($(this)val()); //获得select2中的select1值
});
});
})
html:

<div class="centent">
<select multiple="multiple" id="select1" name="dd" style="width:100px;height:160px;">
<option value="1">选项1</option>
<option value="2">选项2</option>
<option value="3">选项3</option>
<option value="4">选项4</option>
<option value="5">选项5</option>
<option value="6">选项6</option>
<option value="7">选项7</option>
</select>
<div>
<span id="add" >选中添加到右边>></span>
<span id="add_all" >全部添加到右边>></span>
</div>
</div>
<div class="centent">
<select multiple="multiple" id="select2" name="sel" style="width: 100px;height:160px;">
</select>
<div>
<span id="remove"><<选中删除到左边</span>
<span id="remove_all"><<全部删除到左边</span>
</div>
</div>
使用JQuery,Ajax调用动态填充Select的option选项

//绑定ClassLevel1单击事件
$("#ClassLevel1")change(function () {
var id = $("#ClassLevel1")val();
var level2 = $("#ClassLevel2");
level2empty();
$("#ClassLevel3")hide();
$ajax({
url: "/askCommonashxaction=getclasslevel&pid=" + id,
data: { "type": "ajax" },
datatype: "json",
type: "get",
success: function (data) {
var json = eval_r(data);
for (var ind in json) {
level2append($("<option value='" + json[ind]id + "'>" + json[ind]typename + "</option>"));
}
}
});
})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13394312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-27
下一篇 2023-07-27

发表评论

登录后才能评论

评论列表(0条)

保存