JQuery Mobile: динамическое складывание не работает

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

И код:

HTML:

<div data-role="page" id="ejercicios">
<div data-theme="a" data-role="header">
    <a data-role="button" data-inline="true" data-theme="a" data-transition="slideup"
    href="#principal" data-icon="home" data-iconpos="left" class="ui-btn-left">
    Volver
    </a>
    <h3 id="nombreAplicacion">
        Nombre Aplicacion
    </h3>
</div>
<div data-role="content">
    <h4 id="tituloEjercicios">
        Ejercicios
    </h4>
    <a id="botonAgregarQuitarEjercicio" data-role="button" data-direction="reverse"
    data-transition="slideup" data-theme="a" href="#activarEjercicios" data-icon="plus"
    data-iconpos="left">
        Agregar/Quitar Ejercicios
    </a>
    <div id="colapsables" data-role="collapsible-set" data-theme="a" data-content-theme="a">
        <div data-role="collapsible" data-collapsed="false" id="Ejercicio1">
            <h3>
                Ejercicio #1
            </h3>
            <div data-role="fieldcontain">
                <textarea name="textoColapsable" id="textoColapsable" placeholder="" data-mini="true">Acá va todo el texto sobre el ejercicios, que es lo que hay que hacer con todos los pasos y esas cosas, este texto es a modo de prueba</textarea>
            </div>
            <div data-role="fieldcontain">
                <label for="ejercicioValor">
                    Valor 1
                </label>
                <input name="Valor 1" id="ejercicioValor" placeholder="Ingrese el valor"
                value="" type="text" data-mini="true">
            </div>
            <input id="botonGuardarEjercicio1" type="submit" data-theme="a" data-icon="edit"
            data-iconpos="left" value="Guardar" data-mini="true">
        </div>
    </div>
</div>

JavaScrip:

if(valor1 == "on")
    {

        $('#colapsables').append( $('<div/>')
                                            .attr("data-role", "collapsible")
                                            .attr("data-collapsed", "false")
                                            .attr("id", "Ejercicio1")
                                            .append( $('<h3/>').text("Ejercicio #1"))
                                            .append( $('<div/>')
                                                                .attr("data-role","fieldcontain")
                                                                .append( $('<textarea/>')
                                                                                        .attr("name","textoColapsable")
                                                                                        .attr("id","textoColapsable")
                                                                                        .attr("placeholder","")
                                                                                        .attr("data-mini","true")
                                                                                        .text("aca va algo de texto")
                                                                       )
                                                    )
                                            .append( $('<div/>')
                                                               .attr("data-role","fieldcontain")
                                                               .append( $('<label/>')
                                                                                    .attr("for","ejercicioValor")
                                                                                    .text("Valor 1")
                                                                      )
                                                               .append( $('<input/>')
                                                                                    .attr("name","Valor 1")
                                                                                    .attr("id","ejercicioValor")
                                                                                    .attr("placeholder","Ingrese el Valor")
                                                                                    .attr("value","")
                                                                                    .attr("type","text")
                                                                                    .attr("data-mini","true")
                                                                      )
                                                   )
                                            .append( $('<input/>')
                                                                 .attr("id","botonGuardarEjercicio1")
                                                                 .attr("type","submit")
                                                                 .attr("data-theme","a")
                                                                 .attr("data-icon","edit")
                                                                 .attr("data-iconpos","left")
                                                                 .attr("value","Guardar")
                                                                 .attr("data-mini","true")
                                                   )

                                            );


        //ESTA FUNCIONANDO MAL ESTO
    }
    else
    {
        $("#Ejercicio1").remove();
    }

person Alexis Polak    schedule 11.07.2013    source источник
comment
После добавления нового складного, так что это $('#id').collapsible().trigger('create');.   -  person Omar    schedule 11.07.2013
comment
Все равно так не работает...   -  person Alexis Polak    schedule 11.07.2013


Ответы (1)


Добавьте .trigger('create') в конце .append, как в демонстрации ниже.

Демо

person Omar    schedule 11.07.2013