Как Вы присоединяете пользовательскую функцию обратного вызова к расширению автоматического заполнения jQuery?

Javascript код

    function myFunction() {
        var fname = document.getElementById("fname").value;
        var lname = document.getElementById("lname").value;
        var email = document.getElementById("email").value;
        var remail = document.getElementById("remail").value;
        var password = document.getElementById("password").value;


        var status = false;    
        var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;


        var x = document.getElementById("male").checked;
        var y = document.getElementById("female").checked;

        var birthday = document.getElementById("bday").value;



        if(fname=="")
        {
            alert("Please Enter First Name");
        }

        else if(lname=="")
        {
            alert("Please Enter Last Name");
        }
        else if(email=="")
        {
            alert("Please Enter Email");
        }
        else if (document.myform.email.value.search(emailRegEx) == -1)
         {  
                  alert("Please enter a valid email address.");
        }
        else if(remail=="")
        {
            alert("Please Enter Re-enter Email");
        }

        else if(email != remail)
        {
            alert("Please Check Email");
        }
        else if(password=="")
        {
            alert("Please Enter Password");
        }
        else if (password.length<8) {
            alert("Please enter 8 digit password");
        }
        else if(!birthday)           //To validate if birth date is empty
        {
            alert("Please select Birth Date")
        }
       else if(submitBday('bday')>16)//To check age greater than 16
        {
           alert("Age should be greater than 16");

        }


        else if(x!=true && y!=true)
        {
            alert("gender");
        }
        else
        {

        alert("Name = " + fname + "\n" + "Last Name = " + lname
                + "\n" + "Email = " + email
                + "\n" + "Password = " + password
                + "\n" + "DOB = " + day1 + "-" + month1 + "-" + year1
            );
        }

    }

   function submitBday(id) {

    var Bdate = document.getElementById(id).value;
    var Bday = +new Date(Bdate);
    var Q4A = ~~ ((Date.now() - Bday) / (31557600000));
    return Q4A;
    }

ваш HTML-код

 

User Registration Form









Birthdate :

ссылка http://jsfiddle.net/j08691/exVh2/1/

5
задан Aaron Palmer 5 August 2010 в 18:00
поделиться

1 ответ

Извините, у меня нет легкого ответа на Ваш вопрос, я проверил сменный исходный код и не нашел, что любой механизм позволил, Вы действительно хотите Вас, хотят. Я думаю, что необходимо будет обновить этот плагин сами, чтобы заставить его работать, как Вы желаете.

Идея состоит в том, чтобы добавить Ваши обратные вызовы к options параметр и затем делает сменное использование этими обратными вызовами. Во-первых, необходимо будет изменить сменный код. Перейдите к функции, которая создает класс, отвечающий за показ/сокрытие управления автоматическим заполнением:

$.Autocompleter.Select = function (options, input, select, config) {

Если Вы прокручиваете вниз, Вы видите, что эта функция возвращает объект с show() и hide() методы. Можно добавить следующий код:

hide: function() {
    ...
    options.showCallback && options.showCallback(); // Invoke callback function if set
},
...
show: function() {
    ...
    options.hideCallback && options.hideCallback(); // Invoke callback function if set
},

Наконец при создании автоматического заполнения необходимо добавить обратные вызовы к опциям:

$("#myTextBox").autocomplete("http://...",
{
    showCallback : function() { /* do what you want here */ },
    hideCallback : function() { /* do what you want here */ }
});

Не протестированный вообще, это - просто быстрое и грязное решение. Я надеюсь, что это помогает.

8
ответ дан 14 December 2019 в 04:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: