Jquerymobile يضيف divs الديناميكية القابلة للطي [نسخة مكررة]

StackOverflow https://stackoverflow.com/questions/9382119

سؤال

التكرار المحتمل:
إضافة عناصر قابلة للطي بشكل ديناميكي

أود أن أعرف كيف يمكنني إضافة div قابل للطي ديناميكيًا، ويمكن القيام بهذا الشيء باستخدام طرق عرض قائمة Jqm، واستدعاء lisview('refresh') بعد

هنا هو رمز الاختبار:

http://jsfiddle.net/ca11111/UQWFJ/5/

يحرر:في الأعلى، تم إلحاقه وتقديمه، ولكن عدة مرات

تحرير 2:يبدو العمل مثل هذا؟

هل كانت مفيدة؟

المحلول

ماذا عن إغفال refresh نظرًا لأنك تقوم بتهيئة العنصر (وليس تحديثه):

$('<div data-role="collapsible" data-collapsed="true"><h3>22</h3><span>test</span></div>').appendTo($('#coll div:first'));

$('#coll').find('div[data-role=collapsible]').collapsible();  

إليك نسخة محدثة من JSFiddle الخاص بك: http://jsfiddle.net/UQWFJ/7/ (لاحظ أنني غيرت ملفك setTimeout إلى أ setInterval لإضافة عناصر جديدة بشكل مستمر إلى DOM)

يمكنك أيضًا تحسين ذلك عن طريق حفظ العنصر الجديد في متغير حتى تتمكن من الاتصال به .collabsible() على هذا العنصر فقط:

var $element = $('<div data-role="collapsible" data-collapsed="true"><h3>22</h3><span>test</span></div>').appendTo($('#coll div:first'));

$element.collapsible();  

إليك JSFiddle مع هذا التحسين: http://jsfiddle.net/UQWFJ/9/

نصائح أخرى

مستندات jQM:

تحسين الترميز الجديد
يرسل المكون الإضافي للصفحة حدث pagecreate ، والذي تستخدمه معظم الأدوات لتهيئة نفسها تلقائيًا. طالما عند الإشارة إلى البرنامج النصي للأداة الإضافية ، فإنه سيتم تحسينه تلقائيًا أي مثيلات للأدوات التي يعثر عليها على الصفحة.

ومع ذلك ، إذا أنشأت من جانب عميل الترميز الجديد أو حملت المحتوى عبر Ajax وحقنه في صفحة ، يمكنك تشغيل إنشاء الحدث إلى معالجة التهيئة التلقائية لجميع المكونات الإضافية الموجودة بداخلها الترميز الجديد. يمكن تشغيل هذا على أي عنصر (حتى الصفحة div نفسها) ، مما يوفر لك مهمة التهيئة اليدوية لكل مكون إضافي (زر عرض القائمة ، تحديد ، إلخ).

على سبيل المثال ، إذا تم تحميل كتلة ترميز HTML (مثل نموذج تسجيل الدخول) من خلال Ajax ، قم بتشغيل حدث الإنشاء للتحويل تلقائيًا جميع الأدوات التي تحتوي عليها (المدخلات والأزرار في هذه الحالة) في ملف إصدارات محسنة. سيكون رمز هذا السيناريو: Genacodicetagpre

لست متأكدًا مما إذا كان هذا هو ما تريده ، ولكن إذا كان كل ما تريد القيام به هو أن تكون قادرًا على إضافة عناصر div قابلة للطي ديناميكيًا ، فيمكنك القيام بذلك من جانب الشفرة.على سبيل المثال ، أنا أستخدم aspx.vb ولكن إذا كنت تستخدم لغة أخرى غير يمكنك بسهولة تكييف هذا مع وضعك.في .aspx (كود html) ، اكتب هذا السطر من التعليمات البرمجية حيث تريد ظهور كود html الديناميكي. Genacodicetagpre

بمجرد الانتهاء من ذلك ، انقر بزر الماوس الأيمن على الشاشة واختر "عرض الرمز"

ثم تضيف هذا Genacodicetagpre

سيؤدي هذا بشكل ديناميكي إلى إضافة 7 أشرطة قوائم div قابلة للطي.يمكنك تغيير هذا عن طريق تغيير "dblNumCollapsibles"

أنشئ html لـ div قابل للطي أضف ديناميكيًا إلى بعض div وعلى استدعاء div .trigger ("إنشاء") $ (div) .trigger ('create') سيؤدي ذلك إلى إنشاء عنصر div هذا وعرض عنصر div القابل للطي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top