我需要将两个事件附加到同一输入字段。请帮忙。
我希望能够在同一个字段上附加.blur()和日期选择器。每当我尝试将两个事件放在一起时,它们都会破裂。
$.fn.valiDate = function () {
$(this).datepicker({
onClose: function (dateText, inst) {
var myDate = $(this).val()
if (myDate.length === 6) {
day = myDate.substring(0, 2);
month = myDate.substring(2, 4);
year = myDate.substring(4);
var myDateField = day + '/' + month + '/' + year
try {
$.datepicker.parseDate('mm/dd/yy', myDateField, null);
$(this).val(myDateField)
} catch (error) {
alert('Error 1:' + error);
$(this).val('')
}
} else if (myDate.length === 8 && myDate.indexOf('/') == -1) {
day = myDate.substring(0, 2);
month = myDate.substring(2, 4);
year = myDate.substring(4);
var myDateField = day + '/' + month + '/' + year
try {
$.datepicker.parseDate('mm/dd/yy', myDateField, null);
$(this).val(myDateField)
} catch (error) {
alert('Error 2:' + error);
$(this).val('')
}
} else if (myDate.length === 8 && myDate.indexOf('/') != -1) {
try {
$.datepicker.parseDate('mm/dd/yy', myDate, null);
$(this).val(myDate)
} catch (error) {
if (myDate != '--/--/--') {
alert('Error 3:' + error);
$(this).val('')
}
}
} else {
alert('Invalid Date');
$(this).val('');
}
}
$(document).ready(function () {
$(.datefield).blur(function () {
alert('hello');
});
$('#sbDinput').valiDate();
});
答案 0 :(得分:0)
脚本在标题中,插件功能部分是我为我的商店编写的一系列内容,因为我们使用混合代码和银行软件。
<script >
$(document).ready(function() {
$('.dateField').valiDate();
$('#sbDinput').datepicker({
showOn: "button",
buttonImage: "images/calendar.gif",
buttonImageOnly: true
});
});
</script>
(function($) {
$.fn.valiDate=function() {
$(this).click(function(){
$(this).val('');
});
$(this).change(function(){
var myDate=$(this).val()
if(myDate.length === 6) {
day = myDate.substring(0, 2);
month = myDate.substring(2, 4);
year = myDate.substring(4);
var myDateField=day+'/'+month+'/'+year
try{
$.datepicker.parseDate('mm/dd/yy', myDateField, null);
$(this).val(myDateField)
}
catch(error){
alert('Error 1:'+error);
$(this).val('')
}
} else if (myDate.length===8 && myDate.indexOf('/')==-1)
{
day = myDate.substring(0, 2);
month = myDate.substring(2, 4);
year = myDate.substring(4);
var myDateField=day+'/'+month+'/'+year
try{
$.datepicker.parseDate('mm/dd/yy', myDateField, null);
$(this).val(myDateField)
}
catch(error){
alert('Error 2:'+error);
$(this).val('')
}
}else if (myDate.length===10 && myDate.indexOf('/')!=-1)
{
try{
$.datepicker.parseDate('mm/dd/yy', myDate, null);
$(this).val(myDate)
}
catch(error){
if (myDate!='--/--/--')
{
alert('Error 3:'+error);
$(this).val('')
}
}
}else if (myDate.length===8 && myDate.indexOf('/')!=-1)
{
try{
$.datepicker.parseDate('mm/dd/yy', myDate, null);
$(this).val(myDate)
}
catch(error){
if (myDate!='--/--/--')
{
alert('Error 3:'+error);
$(this).val('')
}
}
}else {
alert('Invalid Date');
$(this).val('');
}
});
}
})(jQuery);
// end plugin