您的位置:首页 > 其它

开发中select下拉框的用法总结

2015-09-21 21:14 295 查看
select在开发中经常被用到,用于进行选项选择,我浅谈下select的用法

问题(1)如何选择select的option里面的值?

首先会用到一个方法 onchange();这个方法主要用于触发,选择框内容改变时间

实现代码:

<!doctype html>
<html>
<head lang="en">
<meta charset="UTF-8">
</head>
<body>
<select onchange="test(event)">
<option>安静</option>
<option>晴天</option>
<option>七里香</option>
</select>
<script type="text/javascript">
function test (e) {
var e = event ? event : window.event;
alert(e.target.value);
}
</script>
</body>
</html>




问题2:可是在开发中,我们一般选择了内容只是为了显示,而真正要做的是和后台进行交互数据传输,这时候,我们为了尽可能减少http数据传输,所以一般会传 id 等作为数据传输标志,如何做?

开发中,option一般都是动态创建的,那么这时候,我们只需要给你动态创建一个自定义属性。那么如何获取自定义属性呢?

<!doctype html>
<html>
<head lang="en">
<meta charset="UTF-8">
</head>
<body>

<select onchange="test(event)" id="sel"></select>

<script type="text/javascript">
//定义内容的json数据,一般从后台获取
var data = [
{
name: '晴天',
id: '1'
},
{
name: '安静',
id: '2'
},
{
name: '七里香',
id: '3'
}
];

createOption('sel',data);
//创建option
function createOption(parentId, data){
var parentId = document.getElementById(parentId);
for(var  i=0; i<data.length; i++){
var opt = document.createElement('option');
//设置option的值
opt.innerHTML = data[i].name;
//定义option的自定义值
opt.setAttribute('dataid', data[i].id);
parentId.appendChild(opt);
}
}
//选取自定义属性的方法
function test (e) {
var e = event ? event : window.event;
var target = e.target;
var index = target.selectedIndex;
alert("我的id="+target[index].getAttribute('dataid'));
}
</script>
</body>
</html>


结果图如下:



这就是我在开发中遇到的问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  select