编写select下拉框的几种方式

2 篇文章 0 订阅
2 篇文章 0 订阅
<select>
  <option value ="volvo">Volvo</option>
  <option value ="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

value属性的值就是传入后台可接收到的值。
若要使下拉框默认选中:checked属性设置为true,也可在js中设置,$(“xxx”).prop(“checked”, true);

当要从数据库中动态获取数据来显示到下拉框中,有时候要显示name,但传入后台的是id,就有点难办了。

<select id="storeId" name="storeid" datatype="*" nullmsg="请选择劵类型">
    <option value="">商店名称</option>
    <c:forEach items="${list}" var="list">
        <option id="storeOption_${list.ID }" value="${list.ID }" 
            areaCode="${list.AREACODE }">${list.STORENAME }</option>
    </c:forEach>
</select>

这种方式是用c标签的循环,加上EL表达式的方式动态显示出来。

$("#storeId").change(function() {
    $("#eMapId").val($("#storeOption_" + $(this).val()).attr("areaCode"));
});

当select的值发生改变时,eMapId也相应的改变。

这种方式党对起来比较复杂,可以用另一种框架:jQuery easyui

<td><input id="operatorInfo_storeName" class="easyui-combobox" url="common/operator/getstorename" 
editable="false" panelHeight="auto" valueField="id" textField="text" prompt="请选择所属门店"/></td>

class属性必须指定为easyui-combobox
url的地址为取得id 和 text 的action地址
valueField 和 textField 属性的值必须和后台返回的参数名称相对应
editable=”false”不可编辑, panelHeight=”auto”设置下拉框的长度自动适应

但是用这个框架要特别注意到的是,在用ajax提交的时候,若获取textField的值必须这样:

var storeId = $("#operatorInfo_storeName").combobox("getValue");

如果涉及到修改,要获取当前选择的行的数据,并使下拉框默认选中某个属性

$("#operatorInfo_storeName").combobox("setValue", row.STOREID);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值