Использование jQuery Mobile с шагами jQuery

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

Я создал одну вертикальную HTML-страницу с помощью jQuery Mobile 1.4.0, и она отлично работает.

Затем я добавил jQuery Steps 1.0.4, чтобы интегрировать аспект мастера и сохранить большую часть внешнего вида. К сожалению, функциональность jQuery Mobile для большинства полей формы перестала работать. Например, ползунки не перетаскиваются, текстовые поля не выделяются. Ошибок JS нет, и поля изначально отображаются правильно, просто ведут себя не так, как должны.

Мне интересно, работал ли кто-нибудь с этими двумя библиотеками раньше, нашел обходной путь или посоветовал, как подойти к интеграции двух библиотек.

<body>
<div id="main">
    <form id="" action="landing.html">
        <div id="wizard">
            <h1>Step 2 - Heading</h1>
            <div id="step_2">
                <section>
                    <fieldset data-role="controlgroup" data-type="horizontal">
                        <legend>Radio Options</legend>
                        <input type="radio" name="radio-choice-1" id="radio-choice-1" value="choice-1" />
                        <label for="radio-choice-1">Option 1</label>
                        <input type="radio" name="radio-choice-1" id="radio-choice-2" value="choice-2" />
                        <label for="radio-choice-2">Option 2</label>
                        <input type="radio" name="radio-choice-1" id="radio-choice-3" value="choice-3" />
                        <label for="radio-choice-3">Option 3</label>
                    </fieldset>
                </section>
            </div>
        </div>
    </form>
</div>

<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js" type="text/javascript"></script>
<script src="scripts/libs/jquery.steps-1.0.4.js"></script>
<script src="scripts/initiate.wizard.js"></script>


person Delorian    schedule 03.02.2014    source источник


Ответы (1)


Я обнаружил ответ. Согласно автору решения проблемы jQuery Step:

https://github.com/rstaib/jquery-steps/issues/31

Мне пришлось отложить автозапуск jQuery Mobile до тех пор, пока jQuery Steps не сделает все необходимое.

<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>window.jQuery || document.write('<script src="scripts/libs/jquery-1.10.2.min.js"><\/script>')</script>
<script src="scripts/libs/jquery.steps-1.0.4.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
<script>jQuery.ui || document.write('<script src="scripts/libs/jquery-ui-1.10.4.min.js"><\/script>')</script>
<script>
    // delay jQuery Mobile initialisation to allow jQuery Steps initialise first
    $(document).on("mobileinit", function () {
        $.mobile.autoInitializePage = false;
    });
</script>
<script src="http://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js" type="text/javascript"></script>
<script>$.mobile || document.write('<script src="scripts/libs/jquery.mobile-1.4.0.min.js"><\/script>')</script>
<script src="scripts/initiate.wizard.js"></script>
<script>
    // now the DOM should be ready to handle the jQuery Mobile initialisation
    $(document).ready(function () {
        $.mobile.initializePage();
    });
</script>
<script src="scripts/scripts.js"></script>
person Delorian    schedule 03.02.2014