-4

我需要将两个事件附加到同一个输入字段。请帮忙。

我希望能够在同一字段上附加一个 .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();

        });
4

1 回答 1

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
于 2013-10-03T14:55:36.410 回答