jquery download



جوم(جكريموبيل) إضافة العناصر ديناميكيا لا يتم عرض بشكل صحيح و كس لا يتم تطبيقها (2)

أواجه مشكلة في إضافة علامة تحديد ديناميكيا، لا يتم تطبيق كس وعلامات هتمل الإضافية (التي تضيف جوم).

في ما يلي مثال على كيفية إضافة علامة التحديد الجديدة: http://jsfiddle.net/UcrD8/4/

هتمل:

<div data-role="page" id="page_1">
    <div id="select_option_groups">
        <div data-role="fieldcontain">
            <select name="select_options_1">
                <option value="" selected>Please select an option</option>
                <option value="foo">Foo</option>
                <option value="bar">Bar</option>
            </select>
        </div>
    </div>
</div>

جس:

$(function(){
    var counter = 2;
    var onChange = function(e){
        val = $(':selected',this).val() || '';
        if (val != ''){
            // they may be able to toggle between valid options, too.
            // let's avoid that using a class we can apply
            var c = 'alreadyMadeASelection';
            if ($(this).hasClass(c))
                return;
            // now take the current select and clone it, then rename it
            var newSelect = $(this)
                .clone()
                .attr('name','select_options_'+counter)
                .attr('id','select_options_'+counter)
                .appendTo('#select_option_groups')
                .change(onChange);
            $(this).addClass(c);
            counter++;
        } else {
            var id = $(this).attr('name').match(/\d+$/), parent = $(this).parent();
            $(this).remove();

            // re-order the counter (we don't want missing numbers in the middle)
            $('select',parent).each(function(){
                var iid = $(this).attr('name').match(/\d+$/);
                if (iid>id)
                    $(this).attr('name','select_options_'+(iid-1));
            });
            counter--;
        }
    };
    $('#select_option_groups select').change(onChange);
});

لقد حاولت:

// this gets the select tags to stack but still no CSS
$(newSelect).fieldcontain('refresh'); 

// does nothing
$(newSelect).page();

// does nothing
$('#page_1').page();

https://ffff65535.com


جرب هذا:

$(newSelect).selectmenu('refresh');

أو هذا الأمر الذي سيجبر إعادة بناءه:

$(newSelect).selectmenu('refresh', true);

واسمحوا لي أن أعرف إذا كان يعمل.


ليس لدي أي فكرة لماذا .selectmenu('refresh'); لا يعمل، ولكن بالنسبة للصفحة - يمكنك استخدامه مرة واحدة على عنصر. بعد ذلك يتخطى العنصر في المرة القادمة.

  1. استنساخ حدد قبل إضافة الاشياء (استنساخ دون المعلمات)
  2. أزل النص الأصلي
  3. إضافة عناصر إلى العنصر المستنسخة
  4. وضعه مرة أخرى في دوم
  5. استدعاء .selectmenu() .page() أو .selectmenu() عليه أو استدعاء .page() على العنصر الذي يحتوي عليه.

يجب المساعدة. إذا لم يكن كذلك، ثم حاول إنشاء عنصر جديد حدد من الصفر وتحميله مع خيارات من النسخة الأصلية وإضافة جديدة ثم المتابعة.

[تصحيح]

ما سبق هو مجرد تخمين. التعليمات البرمجية على ما يرام على النحو الذي هو عليه. فقط يحتاج إلى مكالمة واحدة إلى .selectmenu() رمز العمل:

http://jsfiddle.net/UcrD8/45/





jquery-mobile