【原创】select 框的问题

[size=medium]select有多种问题,我集中总结分为一下3种[/size][b]
一.显示:[/b]
例如:

<select size="4" name="fruit" id="fruit" multiple="multiple">
<option value="">全部</option>
<option value="1">苹果</option>
<option value="2">梨</option>
<option value="3">桃子</option>
<option value="4">香蕉</option>
<option value="5">菠萝</option>
</select>

select标签上有 multiple 属性表示可以多选,如果不多选而是单选,直接去掉该属性,可以通过style="width:xx;height:xx;"来控制select的大小(xxpx或者xx%)

[b]二.选择:[/b]
首先定义一个变量
var selectObj = document.getElementById('fruit');


1.没有选项的情况
[b]selectObj.options[0] == null;[/b]

2.有选项的情况
没选中
[b]selectObj.options.selectedIndex<0[/b]

选中(top)
[b]selectOjb.options.selectedIndex==0[/b]
选 中(bottom)
[b]selectOjb.options.selectedIndex == selectOjb.options.length-1[/b]

[b]三.传值,取值:[/b](当form提交之后)
单选取值:后台直接通过request.getParameter("fruit") 就可以得到了

多选取值:
思路:
1定义一个隐藏域id='hiddenFruit'
2通过一个JS方法把select框中的每一个选项的值遍例取得放进隐藏域 通过"&"分开
3.后台通过request.getParameter("hiddenFruit")得到一个String串,通过String.split("&")得到一个String数组,遍例String数组,得到每一个元素,就是select框中的每一个选项的值。

代码片段:

<form id='fruitForm' action='' method=''>
<input type="hidden" id="fruitValue" value="">
<input type="hidden" id="fruitText" value="">
</form>

<script> 
<!--
function save() {
var selectObj = document.getElementById('fruit');
var ValObj = document.getElementById('fruitValue');
var TextObj = document.getElementById('fruitText');
for(var i=0; i<selectObj.options.length; i++){
ValObj.value += selectObj[i].value + "&";
TextObj.text += selectObj[i].text + "&";
}
var form = document.getElementById('fruitForm');
form.action = "xx.do"
form.submit();
}
//-->
</script>


String allFruitVal = request.getParameter("fruitValue");
String fruitValue [] = allFruitVal.split("&");
String allFruitText = request.getParameter("fruitText");
String fruitText [] = allFruitText.split("&");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Avue UI库中的select添加筛选功能通常是指在其下拉选项列表中提供搜索过滤功能,允许用户输入关键字来查找匹配的选项。这在处理大量数据或者需要高效快速选择的场景中非常有用。在Avue中,你可以通过以下几个步骤来实现这个功能: 1. 使用`vue-select`组件:首先,在项目中引入并安装Vue-Avue Select组件,如果还没有集成,可以参考官方文档进行配置。 ```bash npm install vue-select avue-select --save ``` 2. 配置select:在HTML模板中,创建一个`<avue-select>`元素,并设置`filterable`属性为`true`,开启筛选功能。 ```html <template> <avue-select :filterable="true" placeholder="请选择"> <option v-for="(item, index) in options" :key="index" :value="item.value">{{ item.label }}</option> </avue-select> </template> <script> import AvueSelect from 'avue-select'; export default { components: { AvueSelect, }, data() { return { options: [ // 这里是你实际的数据数组 ], }; }, }; </script> ``` 3. 数据驱动:将选项数组绑定到组件上,当用户输入时,可以通过监听`input`事件来进行实时筛选。 ```js methods: { handleSearch(e) { this.options = this.options.filter(item => item.label.toLowerCase().includes(e.target.value.toLowerCase())); }, }, mounted() { this.handleSearch(); // 初始加载时也进行一次筛选 }, watch: { // 当options数据变化时,自动触发筛选 options(newOptions) { this.handleSearch(); }, }, ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值