EasyUI之下拉框combobox

本文介绍了一个使用EasyUI实现的日期与月份联动选择器。通过一个日期选择器和一个下拉框,用户可以选择日期,而下拉框则显示月份。当用户更改日期时,下拉框会自动更新为所选日期的月份。反之亦然,当下拉框中的月份发生变化时,日期也会随之调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、实例背景

EasyUI下拉框combobox,实例给出一个日期控件和一个下拉框,选择日期控制下拉框的月份;改变下拉框选项就改变日期的月份。


2、实例源码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>EasyUI之下拉框combobox</title>
		<link rel="stylesheet" href="../themes/black/easyui.css" />
		<link rel="stylesheet" href="../themes/icon.css" />
		<link rel="stylesheet" href="../css/demo.css" />
		<script type="text/javascript" src="../js/jquery.min.js" ></script>
		<script type="text/javascript" src="../js/jquery.easyui.min.js" ></script>
		<script>
			$(document).ready(function(){
				$("#datePicker").datebox({
					onSelect:function(date){
						$("#monthSelect").combobox("setValue",date.getMonth()+1);
					}
				});
				
				$("#monthSelect").combobox({
					onChange:function(n,o){
						var date = new Date();
						var month = $(this).combobox("getValue");
						var year = date.getFullYear();
						var day = date.getDate();
						var changeMonth = year + "-" + (month<10?("0"+month):month) + "-" + (day<10?"0"+day:day);
						
						$("#datePicker").datebox("setValue",changeMonth);
					}
				});
			});
			
			function formatterDate(date)
			{
	            var y = date.getFullYear();
	            var m = date.getMonth()+1;
	            var d = date.getDate();
	            return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);
	        }
			
	        function myparser(s)
	        {
	            if (!s) return new Date();
	            var ss = (s.split('-'));
	            var y = parseInt(ss[0],10);
	            var m = parseInt(ss[1],10);
	            var d = parseInt(ss[2],10);
	            if (!isNaN(y) && !isNaN(m) && !isNaN(d))
	            {
	                return new Date(y,m-1,d);
	            } 
	            else 
	            {
	                return new Date();
	            }
	        }
		</script>
	</head>
	<body>
		<div class="easyui-panel" style="width:100%;max-width:400px;height: 400px;">
			<div style="margin-bottom:20px">
	            <input id="datePicker" class="easyui-datebox" label="日期:" data-options="formatter:formatterDate,parser:myparser" labelPosition="top" style="width:100%;">
	        </div>
	        <div style="margin-bottom:20px">
	            <select id="monthSelect" class="easyui-combobox" name="month" label="月份:" labelPosition="top" style="width:100%;">
	                <option value="1">一月</option>
	                <option value="2">二月</option>
	                <option value="3">三月</option>
	                <option value="4">四月</option>
	                <option value="5">五月</option>
	                <option value="6">六月</option>
	                <option value="7">七月</option>
	                <option value="8">八月</option>
	                <option value="9">九月</option>
	                <option value="10">十月</option>
	                <option value="11">十一月</option>
	                <option value="12">十二月</option>
	            </select>
	        </div>
	    </div>
	</body>
</html>

3、实例结果

(1)操作日期控件


(2)操作下拉框


### EasyUI Combobox 组件设置值的方法 在 EasyUI 中,可以通过 `combobox` 的 API 方法来实现为组件赋值的操作。以下是具体的说明和示例: #### 使用 `setValue` 方法 通过调用 `combobox('setValue', value)` 可以为指定的 ComboBox 设置值[^1]。 ```javascript $("#myComboBox").combobox('setValue', '目标值'); ``` 此方法仅设置了显示的值,而不会触发重新加载数据源的动作。如果需要同步更新底层的数据模型,则可以结合其他方法一起使用。 --- #### 同时设置值并刷新选项列表 当需要不仅设置当前选中的值,还希望确保该值存在于下中时,可先加载对应的数据再执行设置动作[^2]。 ```javascript // 假设 eta 是已有的数据集 var eta = [ { id: 1, text: "选项一" }, { id: 2, text: "选项二" } ]; // 加载新数据到组合 $('#myComboBox').combobox('loadData', eta); // 随后设定具体数值 $('#myComboBox').combobox('setValue', '选项一'); ``` 上述代码片段展示了如何手动定义一组 JSON 数据并通过 `loadData` 将其注入至控件内部;接着利用 `setValue` 来选定其中某一项作为初始状态呈现给用户查看[^3]。 --- #### 动态加载远程服务器端数据后再赋值 对于那些依赖于后台接口返回动态内容的情况,应该考虑采用 AJAX 请求获取最新资料之后才去完成初始化过程。 ```javascript $.ajax({ url: '/api/getOptions', type: 'GET', success: function(response){ $('#myComboBox').combobox({ data: response, valueField: 'id', textField: 'text' }); // 设定默认项 $('#myComboBox').combobox('setValue', response[0].id); } }); ``` 这里演示了一个完整的流程:从服务端取得最新的可用条目集合,并将其绑定到前端界面元件之上,最后挑选第一个记录成为预置选择项。 --- ### 注意事项 - 如果尝试设置的值不在现有的数据范围内,那么即使成功调用了 setValue 函数也不会有任何视觉上的改变发生。 - 当面对跨域资源读取场景下的特殊需求时,请记得调整 jQuery 版本以及相应插件配置以支持 JSONP 协议交互方式[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值