jquery_动态显示下拉框_on()绑定事件_each遍历每个子元素

//参考:https://blog.csdn.net/chenhao_c_h/article/details/79750341


/**************************HTML***************************************/
<span>
    <span>日期类型:</span>
	<select id="dateType" name="dateType">
		<option value="" >--全部--</option>
		<#list dateTypeEnumList as dateTypeEnum>
			<option value="${dateTypeEnum.getId()}">${dateTypeEnum.getName()}</option>
		</#list>
	</select>
</span>
<span>
    <span>日期名称:</span>
	<select id="dateName" name="dateName">
		<option value="" >--全部--</option>
		<#list dataNameList as dataName>
			<option value="${dataName.holidayType}">${dataName.holidayName}</option>
		</#list>
	</select> 
</span>



/********************jquery****************控制option************************/
	/*
	onchange事件是你设置的元素改变的时候触发的事件;
	而on事件则是用于事件绑定,即你所设置的元素可能在替换的时候遗失了,
可以用on事件来将元素的事件通过元素不变的父级元素进行绑定,来达到替换后
事件不遗失,可以继续使用的目的;
	*/
	$("#dateType").on("change",function(){   、
         let dateTypeOption = $("#dateType").val();
         myOption(dateTypeOption);
    });  
    $("#dateName").on("change",function(){
        let dateNameOption = $("#dateName").val();
        $('#dateType option').each(function(){ 
        	if($(this).val()==dateNameOption){
        		$("#dateType").val(dateNameOption);
        	}
        })
   });  
   function myOption(dateTypeOption){
    	$('#dateName option').each(function(){ 
	   		 if(dateTypeOption==''){   //动态显示对应项
    			 this.className='show';
    		 }else if(!($(this).val() == dateTypeOption)){
	   			 this.className='hide';
	   		 }else{
	   			 this.className='show';  
	   		 }
   	 	});  
    	$("#dateName").val($("#dateName").find(".show").eq(0).val());  //取第一个元素选项展示
   	 	$('#dateName').trigger("chosen:updated"); //刷新选项
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值