如何写动态的联动下拉框,4联动下拉框
今天项目中用到了联动的下拉框,这个是经常用的小技巧,就记录了下来,界面如下。
站在用户的角度思考问题,与客户深入沟通,找到陇西网站设计与陇西网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟主机、企业邮箱。业务覆盖陇西地区。
选择前如下:
选择中:
选择后下拉框都是联动的,4个联动下拉框:
jsp页面代码如下:
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
- <%@ taglib uri="/struts-tags" prefix="s" %>
- <%
- String ctx = request.getContextPath();
- pageContext.setAttribute("ctx", ctx);
- %>
商家 - /css/class.css" rel="stylesheet" type="text/css">
- function checkFile()
- {
- //获得选择的文件的URL
- var fileURL = document.forms1.logoUplode.value;
- //获得文件的扩展名
- fileURLfileURLSplit = fileURL.split(".");
- fileExt = fileURLSplit[fileURLSplit.length-1].toLowerCase();
- alert(fileURL);
- //判断是否是图片文件
- if (fileExt=="jpg" || fileExt=="bmp" || fileExt=="gif" || fileExt=="png")
- {
- //var obj = document.getElementById('lookpic');
- //obj.src = fileURL;
- return true;
- }
- else
- {
- alert("请选择图片文件");
- return false;
- }
- }
- function onValidate() {
- //提交保存
- //验证
- var dealerId = document.getElementById("dealerId").value;
- var modelId = document.getElementById("tbDealerSales.modelId").value;
- var modelId2 = document.getElementById("tbDealerSales.modelId2").value;
- if(dealerId==""){
- document.getElementById("message").innerHTML = "请选择商家!";
- return false;
- }
- if(modelId==""){
- document.getElementById("message").innerHTML = "请选择车型!";
- return false;
- }
- if(modelId2==""){
- document.getElementById("message").innerHTML = "请选择具体车型,如果没有具体车型请在车型管理中添加";
- return false;
- }
- if(trim(document.getElementById("tbDealerSales.salesPrice").value)=="") {
- document.getElementById("message").innerHTML = "报价不能为空!";
- return false;
- }
- if(trim(document.getElementById("validStime").value)=="") {
- document.getElementById("message").innerHTML = "开始日期不能为空!";
- return false;
- }
- if(trim(document.getElementById("validEtime").value)=="") {
- document.getElementById("message").innerHTML = "结束日期不能为空!";
- return false;
- }
- return true;
- }
- function add(){
- if(onValidate()){
- document.forms[0].action="<%=ctx%>/priceAction!add.action";
- document.forms[0].submit();
- }
- }
- function trim(str){
- return str.replace(/(^\s*)|(\s*$)/g, "");
- }
- function refreshCarBrand(val){
- document.getElementById('tbDealerSales.modelId').options.length = 0;
- carBrand = document.getElementById('carBrand').value;
- //alert(carBrand);
- var str = $.ajax({
- url: '<%=ctx%>/priceAction!getCarModel.action?carBrand=' + val + '&now=' + new Date().getTime(),
- async: false
- }).responseText;
- //str = "[{'name':'1','value':'1'},{'name':'2','value':'2'}]";
- // alert(str);
- str = eval("(" + str + ")");
- for (var i = 0; i < str.length; i++){
- //alert(str[i].value);
- document.getElementById('tbDealerSales.modelId').options[i] = new Option(str[i].name,str[i].value);
- }
- if(document.getElementById('tbDealerSales.modelId').options.length == 0){
- document.getElementById('tbDealerSales.modelId').options[i] = new Option("--暂无数据--","");
- refreshCarBasic("99999");
- }else{
- refreshCarBasic(str[0].value);
- }
- }
- function refreshCarBasic(val){
- document.getElementById('tbDealerSales.modelId2').options.length = 0;
- carBrand = document.getElementById('tbDealerSales.modelId').value;
- //alert(carBrand);
- var str = $.ajax({
- url: '<%=ctx%>/priceAction!getCarDetail.action?carId=' + val + '&now=' + new Date().getTime(),
- async: false
- }).responseText;
- //str = "[{'name':'1','value':'1'},{'name':'2','value':'2'}]";
- str = eval("(" + str + ")");
- for (var i = 0; i < str.length; i++){
- //alert(str[i].value);
- document.getElementById('tbDealerSales.modelId2').options[i] = new Option(str[i].name,str[i].value);
- }
- if(document.getElementById('tbDealerSales.modelId2').options.length == 0){
- document.getElementById('tbDealerSales.modelId2').options[i] = new Option("--暂无数据--","");
- }
- }
- function init(){
- //refreshCarBrand(document.getElementById('carBrand').value);
- //refreshCarBasic(document.getElementById('tbDealerSales.modelId').value);
- }
- function selectCarBrand(val){
- //alert(val);
- var str = $.ajax({
- url: '<%=ctx%>/priceAction!getBand.action?dealerId=' + val ,
- async: false
- }).responseText;
- //alert(str);
- var s = "";
- carBrand = document.getElementById('carBrand');
- var carBrandcarBrandlength = carBrand.options.length;
- for(var i=0;i
- if (carBrand.options[i].value == str) {
- carBrand.options[i].selected=true;
- break;
- }
- }
- refreshCarBrand(str);
- }
/p_w_picpaths/main/main01.jpg" width="26" height="15">
当前位置: 报价> 新增报价
后台代码如下:
- public void setCarBasic(String[] idArray){
- List list = testService.getCarDetail(idArray[0]);
- tbCarBasicList = new ArrayList
(); - System.out.println("tbCarBasicList.size():" + tbCarBasicList.size());
- }
获取车型代码如下:
- public String getCarModel(){
- System.out.println("carBrand--------------------" + carBrand);
- response().setCharacterEncoding("UTF-8");
- response().setContentType("text/html;charset=UTF-8");
- try {
- StringBuffer sb = new StringBuffer();
- String str = "[{'name':'1','value':'1'},{'name':'2','value':'2'}]";
- List
list = testService.getCarModels(carBrand); - sb.append("[");
- for(int i=0;i
- TbCarBasic t = list.get(i);
- if(i==0){
- sb.append("{'name':'"+t.getCarName()+"','value':'"+t.getCarId()+"'}");
- }else{
- sb.append(",{'name':'"+t.getCarName()+"','value':'"+t.getCarId()+"'}");
- }
- }
- sb.append("]");
- // System.out.println(sb.toString());
- response().getWriter().write(sb.toString());
- response().getWriter().close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
获取具体车型代码如下:
- public String getCarDetail(){
- // System.out.println("--------------------");
- response().setCharacterEncoding("UTF-8");
- response().setContentType("text/html;charset=UTF-8");
- try {
- StringBuffer sb = new StringBuffer();
- String str = "[{'name':'1','value':'1'},{'name':'2','value':'2'}]";
- List
list = testService.getCarDetail(carId); - sb.append("[");
- for(int i=0;i
- TbCarDetail t = list.get(i);
- if(i==0){
- sb.append("{'name':'"+t.getModelName()+"','value':'"+t.getModelId()+"'}");
- }else{
- sb.append(",{'name':'"+t.getModelName()+"','value':'"+t.getModelId()+"'}");
- }
- }
- sb.append("]");
- System.out.println(sb.toString());
- response().getWriter().write(sb.toString());
- // response().getWriter().write(str);
- response().getWriter().close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
分享文章:如何写动态的联动下拉框,4联动下拉框
URL链接:http://scyanting.com/article/ieojos.html