javascript获取select值,树形随着select值的变化而变化

一、javascript获取select值

div部分:
<div class="control-group" >
<label class="control-label">设备类型:</label>
<div class="controls">
<select name="config.type_id" id="type_id" class="required" οnchange="hello(this.options[this.selectedIndex])">
<option></option>
<s:iterator value="device" var="item">
<option value='<s:property value="type_id"/>'<c:if test="${config.type_id == item.type_id}">selected="selected"</c:if>><s:property value="type_name"/></option>
</s:iterator>

</select>

</div>
</div>

<div class="control-group">
<label class="control-label" for="parentConfigId">上级项目:</label>
<div class="controls">
<tags:treeselect id="parentConfig" name="config.config_parentid" notAllowSelectParent="true" notAllowSelectRoot="true" value="${config.config_parentid}" labelName="configName"
labelValue="${fns:getConfigBypId(config.config_parentid).config_name}"
title="项目" url="/a/cfg/configListQuery.action?config.type_id=${config.type_id}"/>

</div>
</div>

js部分:

<script type="text/javascript">
$("#inputForm").validate();
function hello(){

var typeId=document.getElementById("type_id"); //拿到select对象
var index=typeId.selectedIndex; //拿到选中项的索引,selectedIndex代表的是你所选中的index
var t=typeId.options[index].value; //拿到选中项options的value

window.location.href="${ctx}/a/cfg/configPreSave.action?type_id="+t;

}
</script>

二、后台取值

1、首先是xml文件

<action name="configPreSave" class="configAction" method="configPreSave">
<result>/WEB-INF/pages/modules/cfg/configForm.jsp</result>
</action>

2、然后是java代码部分

public String configPreSave(){

try{

this.device=this.configService.deviceTypeLIst(config);

if(type_id!=null && !type_id.equals("")){
config=new Config();
config.setType_id(type_id);

}

}catch(SPMException e){
logger.error(e.getMessage(),e);
}


return SUCCESS;
}

注:如果config对象不new的话,将是空值,type_id也就无法set;deviceTypeLIst就是查询下拉框内的所有数据,具体sql略过

三、最后实现效果和思路讲解

如图中,点击下拉框时候,页面会刷新一下,也就是跳转了页面,后台又跳回到了前台,将type_id也就传了过来,所以树形里面的值就会随着select值的改变而改变。


思路也就是刚才说的那些,选择select值的时候,页面就刷新,否则type_id就无法传过来,树形也就不会随着select值的变化而变化。

四、小结

这个方法虽然看似有些笨重,但是比较好理解。这也是我第一次在CSDN写个人博客,如有写的不对或者不好的地方,欢迎大家指正。

版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Bootstrap Select2是一个基于jQuery的自定义下拉选择插件,可以让用户在一个优雅的界面中选择数据。 树形下拉是Bootstrap Select2的一个特殊功能,它允许我们将数据以树形结构展示在下拉框中,方便用户快速选择和搜索。 使用Bootstrap Select2树形下拉,首先需要引入Select2的库文件和相关样式。然后在HTML中创建一个下拉菜单的元素,并为其添加一个自定义的class。接下来,需要通过JavaScript来配置Select2插件。 配置Select2的时候,我们需要同时传入数据源以及一些额外的配置选项。对于树形下拉的数据源,我们可以使用一个以JSON对象的形式表示的树状结构。 例如,下面是一个简单的JSON对象,表示一个带有"节点1"和"节点2"的树形结构: { "id": 1, "text": "节点1", "children": [ { "id": 2, "text": "节点2" } ] } 在配置Select2的时候,我们可以用ajax方法获取这个JSON数据,并将其传入"data"选项中。 除了数据源外,我们还可以通过配置选项调整下拉框的外观和功能。例如,可以启用搜索功能,使用户能够在下拉框中快速查找节点。 最后,我们需要通过JavaScript来初始化Select2插件并将其应用到我们创建的下拉菜单元素上。 在使用过程中,用户可以通过点击下拉框,展开或折叠树形结构。他们可以通过输入关键字来搜索节点,并选择他们想要的节点。 总结起来,Bootstrap Select2树形下拉是一个强大的工具,可以方便地在界面上展示和搜索树状数据。这个功能可以通过合适的JSON数据源和一些配置选项来实现。同时,用户可以通过点击和搜索来选择他们想要的节点。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值