精华内容
下载资源
问答
  • 下拉框联动

    2015-08-19 12:50:16
    我微博上的源码,下拉框联动。主要成分就是数据结构。而且很好的从数据库读取数据。。
  • 下拉框联动选择菜单

    2021-06-04 05:42:33
    下拉框联动选择菜单
  • extJs 下拉框联动实现代码,需要的朋友可以参考下。
  • xml城市下拉框联动

    2011-05-25 16:11:41
    xml城市下拉框联动,xml城市下拉框联动,xml城市下拉框联动
  • 下拉框联动选择菜单代码
  • 主要为大家详细介绍了ASP.NET MVC下拉框联动实现方法,感兴趣的小伙伴们可以参考一下
  • 本篇文章给大家介绍基于ajax实现下拉框联动显示数据,代码非常简单,需要的朋友可以参考下
  • 本篇文章主要介绍了Angularjs下拉框联动的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 帆软报表之--下拉框联动

    千次阅读 2020-07-16 11:29:39
    下拉框联动

    现在工作上有一个常见的需求:第一个下拉框选择仓库类型,第二个下拉框仓库名称其选项自动展示对应仓库类型名称。

    如:

    kong

    绕了一些弯路,所以总结一下在不同应用场景下的做法

    一、下拉框为必选项,不能为空!

    这种情况比较好做,建议创建数据集参数,比较方便。

    详情在帆软的帮助文档页面有例子,链接贴在这:https://help.finereport.com/doc-view-1284.html

    二、下拉框可不选,不选时默认选全部!

    这种情况再用第一种方法就比较难行的通了。

    基本思路按照第一个方法,建立三个数据集,第一个数据集为信息表,其中有两个参数,仓库类型和仓库名称。第二个数据集为选择仓库类型,无参数。第三个数据集为仓库名,参数为仓库类型。

    为了实现两个下拉框不选择时,默认全选,三个数据集sql语句为:

    -- 信息表
    select <信息数据>
    from  信息表名
    where  ((case when len(${WHType})=0 then 1 end) = 1 or LocationType = ${WHType})
    and ((case when len(${WHname})=0 then 1 end) = 1 or WhName = ${WHname})
    -- 注意不要忘了case语句最后有个end!!!
    
    -- 仓库类型数据集
    --在此就不贴了,就是简单的选择语句
    
    -- 仓库名称数据集
    select distinct
    WhName
    from  表名
    where 
    (case when isnull(${WHType},'')=''  then 1 end
          )=1
          or
    LocationType = ${WHType}
    

    自认为逻辑是没有问题的。但是当下拉框选值为空的时候,报错!

    我开始搞不懂下拉框为不选时其所返回的值,又去查了一下下拉框的显示值和实际值,在过滤和公式里都可以用len($组件名)来判断不选情况。查询无果。

    正确方式:将2个参数设置为模板参数,下拉框用数据字典的公式形式,再用单元格进行过滤。

    好处:1. 能够处理组件联动。2. 能够实现不选时,全选功能

    下拉框数字字典公式为:

    if ($仓库类型=0,sql("数据源","select distinct WhName from  表名  where LocationType = 0",1),
    if($仓库类型=2,sql("数据源","select distinct WhName from  表名  where LocationType = 2",1),
    sql("数据源","select distinct WhName from  表名",1)))

    对于列的单元格过滤为:

    if(len($仓库类型)==0,nofilter,$仓库类型)

    以上。

    如有错误,请大家热心指正!

    展开全文
  • 主要为大家详细介绍了MVC实现下拉框联动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了JS实现的简单下拉框联动功能,涉及javascript事件响应及页面元素属性动态修改相关操作技巧,需要的朋友可以参考下
  • 主要介绍了C#省份城市下拉框联动简单实现方法,涉及字典的定义与索引的用法,是非常实用的技巧,需要的朋友可以参考下
  • ASP下拉框联动

    千次阅读 2017-11-23 21:54:04
    ASP 实现下拉框联动(c#)

    ASP 实现下拉框联动(c#)

    • 在aspx文件中添加两个下拉框,这里用(学院—专业)这对关系举例:
    <asp:DropDownList ID="ddlInstitute" runat="server" AutoPostBack="True"></asp:DropDownList>
    <asp:DropDownList ID="ddlMajor" runat="server">
                    </asp:DropDownList>

    AutoPostBack="True"设置自动回传到服务器,是实现联动的关键
    * 在ddlIntitute下拉框属性中添加OnSelectedIndexChanged="ddlInstitute_SelectedIndexChanged"实现下拉框联动


    这里介绍两种添加数据源的方式

    1. 直接在代码中添加
      • 打开cs文件,在pageLoad()函数中初始下拉框内容
    protected void Page_Load(object sender, EventArgs e) {
        if (!IsPostBack) {
            ddlInstitute.Items.Add("计算机学院");
            ddlInstitute.Items.Add("经济学院");
            ddlInstitute.Items.Add("文法学院");
            ddlInstitute.SelectedIndex = 0;
            ddlMajor.Items.Add("软件工程");
            ddlMajor.Items.Add("计算机科学");
            ddlMajor.Items.Add("电子学");
            ddlMajor.Items.Add("微电子");
        }
    }
    • 编写 ddlInstitute_SelectedIndexChanged函数,使用switch语句
    protected void ddlInstitute_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (ddlInstitute.Text)
            {
                case "计算机学院":
                    ddlMajor.Items.Clear();
                    ddlMajor.Items.Add("软件工程");
                    ddlMajor.Items.Add("计算机科学");
                    ddlMajor.Items.Add("电子学");
                    ddlMajor.Items.Add("微电子");
                    break;
                case "经济学院":
                    ddlMajor.Items.Clear();
                    ddlMajor.Items.Add("金融学");
                    ddlMajor.Items.Add("保险学");
                    ddlMajor.Items.Add("财政学");
                    break;
                case "法学院":
                    ddlMajor.Items.Clear();
                    ddlMajor.Items.Add("法学");
                    ddlMajor.Items.Add("公共事业管理");
                    ddlMajor.Items.Add("新闻学");
                    break;
            }
        }
    }
    1. 从数据库添加
      • 在数据库中创建数据表[Institute]和表[Major],表头及示例数据如下

    Institute

    Major
    * 编写数据库操作类返回数据表,方便之后的查询操作

    public class OperatorDb
    {
        private static string conStr = "Data Source=.;Initial Catalog=Demosql;Integrated Security=True";
    //连接字符串,Initial Catalog设置为自己的数据库
        public static DataTable GetDataTable(string sql)
        {
            SqlConnection con = new SqlConnection(conStr);
            con.Open();
            SqlDataAdapter ada = new SqlDataAdapter(sql, con);
            DataTable dt = new DataTable();
            ada.Fill(dt);
            con.Close();
            return dt;
        }
    • 编写学院查询类和专业查询类
     public static DataTable GetInstituteInfo()
        {//得到学院信息表   
            string sql = "select * from [dbo].[Institute] ";
            DataTable dt = OperatorDb.GetDataTable(sql);
            return dt;
        }
        public static DataTable GetMajorInfo()
        {//得到专业信息表
            string sql = "select * from [dbo].[Major] ";
            DataTable dt = OperatorDb.GetDataTable(sql);
            return dt;
        }
    public static DataTable GetMajorByInstituteID(string instituteID)
        {
          string sql = "select * from [dbo].[Major] where instituteID='"+instituteID+"'";
            DataTable dt = OperatorDb.GetDataTable(sql);
            return dt;
        }

    数据库部分已经完成,关于数据库的连接可查看其它教程。这里为了节省篇幅,就不赘述了
    * 打开cs文件,在pageLoad()函数中初始下拉框内容

     protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
               DataTable institute = GetInstituteInfo();
              //调用查询学院函数
               this.ddlInstitute.DataSource = institute;        
               //设置数据源
               this.ddlInstitute.DataTextField = "InstituteName";
                //设置文字段
               this.ddlInstitute.DataValueField = "InstituteID"; 
               //设置数值段
               this.ddlInstitute.DataBind();  
               ddlInstitute.SelectedIndex = 0;
               //设置专业与上相同
               DataTable major = 
               DropdownlistDB.GetMajorByInstituteID("1");
              //学院ID初始值为1
               this.ddlMajor.DataSource = major;
               this.ddlMajor.DataTextField = "MajorName";
               this.ddlMajor.DataValueField = "MajorID";
               this.ddlMajor.DataBind(); 
            }
        }
    • 编写 ddlInstitute_SelectedIndexChanged函数,
    protected void ddlInstitute_SelectedIndexChanged(object sender, EventArgs e)
    {
         DataTable major =     DropdownlistDB.GetMajorByInstituteID(this.ddlInstitute.SelectedValue);
              //this.ddlInstitute.SelectedValue为学院ID
               this.ddlMajor.DataSource = major;
               this.ddlMajor.DataTextField = "MajorName";
               this.ddlMajor.DataValueField = "MajorID";
               this.ddlMajor.DataBind();    
    }

    到这里就基本结束了,如果对下拉框联动多次调用,可将其封装为方法方便调用

       public static void setInstituteDropDownList(DropDownList institute) {
            DataTable institutelist = GetInstituteInfo();
            institute.DataSource = institutelist;
            institute.DataTextField = "InstituteName";
            institute.DataValueField = "InstituteID";
            institute.DataBind(); 
        }
        public static void setMajorDropDownList(DropDownList major,string instituteid)
        {
            DataTable majorlist = DropdownlistDB.GetMajorByInstituteNo(instituteid);
            major.DataSource = majorlist;
            major.DataTextField = "MajorName";
            major.DataValueField = "MajorID";
            major.DataBind();
        }

    以上就是这两种下拉框联动数据绑定方法,第一次写博客,哪里不足大家多多包涵,欢迎指正(^-^)。

    展开全文
  • 下拉框联动实例 HTML

    2008-12-25 16:29:45
    下拉框联动实例,两个下拉框内容联动 HTML页面
  • JQuery+Ajax实现下拉框联动

    近日在项目中碰见下拉框联动的问题,要求异步刷新,百度了好多,虽然讲的很详细,但是对于初级的我来说,使用起来还是有难度,一下提供几个别人的纯jQuery实现的省市联动:

    http://www.helloweba.com/view-blog-188.html

    http://www.jb51.net/article/41619.htm

        因为本人刚接触jQuery,对使用还不是很到位,所以就根据自己的想法写了一个下拉框联动的实例,分享出来,方法比较简单和低级, 仅供初学者参考。

     

        项目说明:采用的springMVC+hibernate框架

        首先是需求: 项目要求在新增页面中添加下拉联动,(点击数据源,显示对应可供选择的主表信息列表),如图:


    思路:首先,将数据源信息,在controller中全部查寻到,并且返回到页面中,这样,一开始,第一级下拉列表(数据源),然后在数据源下拉框中增加 onchange()事件,在onchange()事件中拼出 上图,主表名称 的下拉菜单。


    程序实现:

        第一步:查询到一级下拉框所需的值。并返回页面。



    /**
    	 * 新增
    	 * @return
    	 */
    	@RequestMapping(value = "createForm")
    	public String createForm(Model model,HttpServletRequest request){
    List<DataCubeNodeManage> sourceList=(List<DataCubeNodeManage>) dataCubeNodeManageService.findNodeAllList();
    		String parentId=request.getParameter("parentId");
    		model.addAttribute("parentId", parentId);
    		model.addAttribute("sourceList", sourceList);
    		return "mdx/mdxXmlInfoForm";
    	}


     第二步:在页面中取值,并且向一级下拉框增加, onchange()事件,




     
              <div class="form-group">
               <div class="col-xs-12">
                 <div class="">
                   <label class="control-label col-xs-3 text-right">数据源名称:
                   </label><font color="red"> *</font>
                   <div class="col-xs-8">
              <select name="source" id="source" class="form-control  validate[required]" οnchange="jumpPage();">
    		<option value="">请选择</option>
    	 <c:forEach items="${sourceList}" var="list">
    		<option value="${list.id}" 
    <span style="white-space:pre">			</span><c:if test="${obj.source==list.id }">selected="selected"</c:if> >
    <span style="white-space:pre">			</span>${list.nodeNames}
    <span style="white-space:pre">		</span></option>
    	</c:forEach>
    	</select>
          </div>
        </div>
      </div>
    </div>


    需要注意的是, 一级下拉有值,但是二级下拉为一个空的 <select></select>标签


    <div class="">
                   <label class="control-label col-xs-3 text-right">主表名称:
                   </label><font color="red"> *</font>
                   <div class="col-xs-8">
    	<select name="primaryTablename" id="primaryTablename" class="form-control  validate[required]">
    	</select>
    	<input type="hidden" id="primaryTablenameval"  value="${obj.primaryTablename}" >
         </div>
    </div>


    第三步:在onchange()方法中,拼出二级下拉菜单


    function jumpPage(){
    		var sel2 = $("#primaryTablename"); 
    		var selVal = $("#primaryTablenameval").val(); 
            <span style="white-space:pre">	</span>sel2.empty(); 
    		sel2.append("<option value=''>请选择</option>");
    		source=$("#source").val();
    		if($('#selectForm').validationEngine('validate')){
    			$('#selectForm').ajaxSubmit({
    			      url: "${ctx }/mdxXmlInfoController/jumpPage?source="+source,
    			      success: function(data){ 
    			        var data = eval('(' + data + ')');
    			        for ( var i = 0; i < data.length; i++) {
    				var col = data[i];
    				if(selVal==data[i].id) {
     sel2.append("<option value=" + data[i].id + " selected=\"true\">" + data[i].tableName + "</option>");
    				}else {
    sel2.append("<option value=" + data[i].id + ">" + data[i].tableName + "</option>");
    				} 
    			}
    			       
    		}  
    	});
    	}
    }



     第四步:在controller中 得到并组织二级下拉菜单(实例中为:主表名)数据。



    /**
    	 * 异步加载下拉框数据
    	 */
    	@RequestMapping(value = "jumpPage", method = RequestMethod.POST)
    	@ResponseBody
        public String jumpPage(HttpServletRequest request){
    		String msg="";
    		try {
    			String source=request.getParameter("source");
    			List<Map<String,String>> msgList=new ArrayList<Map<String,String>>();
    			List<DataCubeDatebaseTable> dataCubeDatebaseTableList =	dataCubeDatebaseTableService.findTableList(source);
    			if(dataCubeDatebaseTableList.size()>0){
    				for (int i = 0; i < dataCubeDatebaseTableList.size(); i++) {
    					DataCubeDatebaseTable dataCubeDatebaseTable=dataCubeDatebaseTableList.get(i);
    					Map<String,String> msgMap=new HashMap<String, String>();
    					msgMap.put("id", dataCubeDatebaseTable.getId());
    					msgMap.put("tableName", dataCubeDatebaseTable.getTableName());
    					msgList.add(msgMap);
    				}
    				if(msgList.size()>0){
    					msg=JsonUtil.beanToJson(msgList);
    				}
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
        	return msg;
        }


     第五步:运行结果


    总结:由于本项目是建立在springMVC+hibernate 框架下的,有些方法是封装的,可能无法展示,总之,思路就是这样,可能有些 繁琐,有些复杂, 但是 功能实现了。 初学者可以借鉴。 等以后 jQuery用的熟练了,回过头来再进行修改。

    展开全文
  • 这次给大家带来实现输入框与下拉框联动效果,实现输入框与下拉框联动效果的注意事项有哪些,下面就是实战案例,一起来看一下。如图:html代码奖励类型:---请选择---{foreach $reward as $value}{$value['material_...

    这次给大家带来实现输入框与下拉框联动效果,实现输入框与下拉框联动效果的注意事项有哪些,下面就是实战案例,一起来看一下。

    如图:

    faaba553b09141e073e7c977aa243692.png

    html代码

    奖励类型:

    ---请选择---

    {foreach $reward as $value}

    {$value['material_name']}

    {/foreach}

    JQuery代码

    $('#reward').bind('input propertychange', function() {reward();});

    function reward()

    {

    var search = $("#reward").val();

    $.ajax({

    type:"get",

    url:"/mall/config_commodity_info/search_commodity_info",

    data:{search:search},

    success:function(select){

    var reward_id = $("#reward_id");

    if (select) {

    $("option",reward_id).remove();

    var obj = JSON.parse(select);

    for (var key in obj) {

    var option = ""+obj[key]+"";

    reward_id.append(option);

    }

    }

    }

    });

    }

    public function add_alms()

    {

    $reward = $this->materials->selReward();

    $this->assign('reward',$reward);

    return $this->fetch();

    }

    public function do_add_alms()

    {

    $data = Request::instance()->param();

    $this->alms->addAlms($data);

    }

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    展开全文
  • 下面小编就为大家分享一篇实时监控input框,实现输入框与下拉框联动的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • ASP.NET MVC下拉框联动

    热门讨论 2013-11-13 12:57:30
    纯正的ASP.NET MVC下拉框联动,可以实现无刷新更换第二下拉框内的值。内部写了两种实现方式,第一种是读取控制器/模型[数据库]的值放入下拉列表框;第二种是在视图中分别定义下拉列表框的值。希望对大家有帮助
  • 根据js用asp进行世界的三级下拉框联动,国内有三级联动,国外是国家名与省或州的联动,可能有一下不全,是花了一些时间收集与整理的

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,206
精华内容 3,682
关键字:

下拉框联动