【js】复选框,复选下拉框,文本框勾连

【js】对常见事件的一个总结
ps: 内容涉及(kendo Ui, jQuery)

如下图所示:要求实现功能点
(1)用户名(复选下拉框,可选择多个)和用户名(文本输入框)相勾连
复选下拉框改变,文本框也改变;如果选择了用户名下拉框/用户名文本框,则用户名复选框为不被勾选状态
(2)如果点击了(用户名是否全选)复选框为已勾选状态,用户名复选下拉框及用户名文本框清空
在这里插入图片描述

keyup:触发事件

keyup:文本输入框输入内容/内容改变便触发该事件
	/**
	* templateuser3:文本输入框的id
	* getSe3:复选框
	*/
	//当输入内容时,立即触发某事件,宜用onkeyup,onchange会有延时。
	$("#templateuser3").keyup(function(){
    
    
        if($('#templateuser3').val()!=""){
    
    
        	//复选框改变选择状态(取消勾选)
			$('#getSe3').prop("checked",false);
			mySe3=false;
		}
    });

change改变事件

change:对dom进行改变之后触发改事件

/**
* inqu3_1-0-formworktemplate3_1:kendoUi的复选下拉框id
* getSe3:复选框Id
* RootgetUser:给复选下拉框添加下拉选项的集合
* mySe3:全局变量,判断复选框(getSe3)是否勾选
*/
$('#getSe3').on("change", function (e) {
    
    
			//判断复选框是否勾选
			if($("#getSe3").is(":checked")){
    
    
				mySe3=true;
				//清空复选下拉框(文本框)的选项
				document.getElementById("inqu3_1-0-formworktemplate3_1").length = 0;				
				//kendoUi的kendoMultiSelect(复选下拉框)
				var multiselect =$('#inqu3_1-0-formworktemplate3_1').data("kendoMultiSelect");
				//清空复选下拉框已勾选数据
				multiselect.setDataSource("");
				$('#templateuser3').val("");
				var aaa={
    
    data: RootgetUser};
				var dataSource1 = new kendo.data.DataSource(aaa);
				var multiselect2 =$('#inqu3_1-0-	formworktemplate3_1').data("kendoMultiSelect");	
				//给复选下拉框添加下拉选项数据
				multiselect2.setDataSource(dataSource1);
			}else{
    
    
				mySe3=false;
			}
        });

click 点击事件

click:点击某个dom元素之后触发该事件

/**
* rootModel:点击按钮的id
* saveTemplate:kendoUi的弹窗id
*/
$("#rootModel").on('click', function () {
    
    
	 var winAddUrl = $('#saveTemplate').data("kendoWindow");
	 //打开弹窗
	 winAddUrl.center().open();
});

猜你喜欢

转载自blog.csdn.net/qq_45525250/article/details/121926328