最近做项目 用到了easyui里面的相关datebox的操作 做以下总结
发现 datebox是不支持input框 id选择器的一些取值方法,只能这样取 var idValue = $("#effectiveDateDx").datebox("getValue");不能安装平常的方法取,比如:
var value = $("#effectiveDate").val(); 并且 也不支持id选择器的事件处理。经过测试 使用如下方式可以取到 datebox的值。
name选择器:
<td class="fieldlabel" style="width: 80px"><span
i18n="commission.effectiveDate">生效日期</span> <span class="red">*</span>
</td>
<td align="left" style="width: 140px">
<input type="text" name="effectiveDate"
id = "effectiveDateDx" class="easyui-datebox easyui-validatebox"
style="width: 165px" data-options="required:true,validType:['datebox']">
<span id="effectiveDateMsg"></span>
</td>
取值;
var dateValue = $("input[name='effectiveDate']").prev().val();
给datebox加上blur事件;
$("input[name='effectiveDate']").prev().blur(function(){
var linePrice = $("input[name='effectiveDate']").prev().val();
if(linePrice == null || linePrice == ''){
$("#effectiveDateMsg").text("不能为空!");
$("#effectiveDateMsg").addClass("error_msg");
}else if(!checkDate(linePrice)){
$("#effectiveDateMsg").text("请正确输入!");
$("#effectiveDateMsg").addClass("error_msg");
}else{
$("#effectiveDateMsg").text("");
}
})
//判断日期格式(yyyy-MM-dd)
function checkDate(str){
var reg = /^(\d{4})-(\d{2})-(\d{2})$/;
var arr = reg.exec(str);
if (str=="") return true;
if (!reg.test(str)&& RegExp.$2<=12 && RegExp.$3<=31){
return false;
}
return true;
}
这是我在这一次项目中遇到的一些问题点,有时间可以深究为什么id取值需要获取匹配元素集合中每个元素紧邻的前一个同胞元素,欢迎指导的小伙伴们深究。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。