JQuery анимация не стрельба - PullRequest
0 голосов
/ 18 июля 2011

У меня есть SELECT, и я хочу, чтобы он оживил что-то onchange, вот код SELECT:

<select id="account_select" onchange="submit_value()">
<option value="">Select account</option>
<option value="1">Account 1</option>
<option value="2">Account 2</option>
</select>

вот jquery:

function show_keyboard ()
{
    $('.keyboard').animate({bottom: '0px'}, 2000);
}

function submit_value ()
{
    if (!is_number($('#account_select').val()))
    {
        alert('You must select an account');
    }
    else
    {
        show_keyboard();
    }
}

проблема в том, что послеЯ выбираю учетную запись, мне нужно щелкнуть где-нибудь на экране, чтобы клавиатура появилась через функцию show_keyboard.я не знаю почему.

Ответы [ 4 ]

1 голос
/ 18 июля 2011

Лучше / чище не использовать встроенный JavaScript.

Просто используйте jQuery's change():

http://jsfiddle.net/rw4qB/

РЕДАКТИРОВАТЬ

Код, который я бы использовал:

function show_keyboard ()
{
    $('.keyboard').animate({bottom: '0px'}, 2000);
}

$('#account_select').change(function() {
    if ($(this).val() == '') {
        alert('Please select an account');
        return true;
    }

    show_keyboard();
});
0 голосов
/ 20 июля 2011

хорошо, я знаю, что использование функции изменения jquery - лучший подход ... эта проблема, похоже, решилась после обновления браузера.

0 голосов
/ 18 июля 2011

Дайте мне знать, если это работает для вас:

<html>
<head>
    <script type="text/javascript" src="jqueryMIN.js"></script>
    <script>

    function hello() {
        var selObj = $('#direction');
        var slider = $('#slider');

        if (!parseInt(selObj.val()))
        {
             alert('You must select a direction');
        }
        else
        {
             switch(parseInt(selObj.val()))
             {
                case 1:
                    slider.animate({top: 100}, 800)
                break;

                case 2:
                    slider.animate({left: 100}, 800)
                break;

                case 3:
                    slider.animate({ top: 0, left: 0 }, 800)
                break;
             }
        }
    }
    </script>
</head>



<body>
    <select id="direction" onchange="hello()">
        <option value="">Select an direction</option>
        <option value='1'>down</option>
        <option value='2'>right</option>
        <option value='3'>reset</option>
    </select>
    <div id='slider' style='position: relative; display: block; background-color: #00f; width: 100px; height: 100px;'></div>
</body>

Замените ссылку jquery на путь к вашему файлу jquery-version.js.Если это не работает должным образом, значит, что-то не так с вашим файлом библиотеки jquery.Как упомянуто выше, я бы не советовал использовать встроенный метод, но для примера я включу его здесь.

Надеюсь, это поможет.

0 голосов
/ 18 июля 2011

HTML

<select id="account_select">

jQuery

$('#account_select').change(submit_value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...