您的位置:首页 > 移动开发 > Android开发

Android中CSS设置select高度的bug解决方法及jq操作select

2015-10-13 16:51 585 查看
用css设置select下拉框的高度时,在Android下无效,不得不使用hack骈解决,本文我们讲一些关于select的知识,包括css设置select样式,jQuery操作select取值及选中。

用CSS设置select的height和line-height,在有的Android版本中无效,不过可以通过添加"-webkit-appearance: listbox;"属性解决这个BUG,完整实例代码如下:

.styled-select {
-webkit-appearance: listbox;
width: 100%;
font-size: 36px;
display: inline-block;
height: 80px;
line-height: 80px;
text-align: center;
background: #8f7a66;
margin-top: 40px;
color: #f9f6f2;
border-radius: 3px;
text-decoration: none;
}
jQuery操作select(取值,设置选中)

每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了。

比如<select class="selector"></select>

1、设置value为pxx的项选中

$(".selector").val("pxx");

2、设置text为pxx的项选中

$(".selector").find("option[text='pxx']").attr("selected",true);

这里有一个中括号的用法,中括号里的等号的前面是属性名称,不用加引号。很多时候,中括号的运用可以使得逻辑变得很简单。

3、获取当前选中项的value

$(".selector").val();

4、获取当前选中项的text

$(".selector").find("option:selected").text();

这里用到了冒号,掌握它的用法并举一反三也会让代码变得简洁。 

很多时候用到select的级联,即第二个select的值随着第一个select选中的值变化。这在jquery中是非常简单的。

如:

$(".selector1").change(function(){
// 先清空第二个
$(".selector2").empty();
// 实际的应用中,这里的option一般都是用循环生成多个了
var option = $("<option>").val(1).text("pxx");
$(".selector2").append(option);
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  css android select