• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چطور load کنم و بعدش append ???
#1
Wink 
Hi Guys Big GrinBig GrinBig GrinBig GrinBig Grin

بچه ها
یه همچین ساختاری رو در نظر بگیرید لدفن Blush
کد:
<ul id="target">
    <li>1</li>
    <li>2</li>
</ul>
ok?
حالا من با ()load. یه چند تا دیگه لیست لود می کنم و میخوام که به ادامه ی لیست های بالا اضافه شه Shy
اما
()load. محتوای ul رو replace میکنه
کد:
$('#target').load('lists.php');
در حالی که من میخوام append کنم
میشه کمکم کنید Blush
مرسی
[عکس: 6p9kd9bhgb7hu6wgcu3g.gif]
  پاسخ
تشکر شده توسط :
#2
میدونی که من جی کوئریم میشنگهWink، اما تا بچه ها بیان راه اصولیش رو بگن:
کد:
<ul id="target">
    <li>1</li>
    <li>2</li>
    <div id="innerTarget">
    
    </div>
</ul>
$('#innerTarget').load('lists.php');

بعدم اگه توی صفحه php هستی، اصلاً lists.php رو اونجا include کن:

کد پی‌اچ‌پی:
<ul id="target">
    <
li>1</li>
    <
li>2</li>
    <?
php include('lists.php'?>
</ul> 
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط : masoudmanson
#3
اتفاقا منم اینجوری نوشته بودمش
اما مشکل اینجا پیش میاد که
مثلا
سیستم نظر دادن به یه پست رو در نظر بگیر
من دارم با ایجکس نظری که داده شد رو نشون میدم
اوکی؟ Big Grin
حالا
وقتی اینجوری که تو گفتی و من هم نوشته بودم باشه
دفعه ی اول درست کار میکه
اما دفعه های بعد (منظورم اینه که بدون لود کردن صفحه بیشتر از یه کامنت بزاریم، یعنی همون ()load. دو یا بیشتر بار اجرا شه)
فک کنم فهمیدی چی میگم Big Grin Tongue
دفعه های بعد میاد و به جای قبلی میزاره کامنت جدید رو Sad
[عکس: 6p9kd9bhgb7hu6wgcu3g.gif]
  پاسخ
تشکر شده توسط :
#4
سلام
انواع و اقسام روش ها برای اینکار وجود دارد و از توابع گوناگون بسته به نیاز می توانید استفاده و با یکدیگر ترکیب کنید ،
خدمت شما :

کد پی‌اچ‌پی:
$('#target').find('li:last').append("<li>New element!</li>");
$(
'#target li:last-child').append("<li>New element!</li>");
$(
'#target li:last-child').insertAfter(this).after("<li>New element!</li>");
$(
'#target > :last-child').insertAfter(this).append("<li>New element!</li>");
$(
"#target").after().append("<li>New element!</li>");
$(
"#target li:eq(1)").append("<li>New element!</li>"); 

البته برخی از این مثال ها از نظر فنی درست نیستند و دارای افزونگی و بیهودگی هستند و فقط جنبه آموزشی دارند

موفق باشی
  پاسخ
تشکر شده توسط : masoudmanson Reza javafa
#5
ممنون علی جان
اما مشکل من با append نبود Blush Confused
من میخوام محتوایی رو که با استفاده از تابع ()load. فراخوانی کردم به جای اینکه جایگزین محتوای کنونی دایو بشه، بیاد و به تهش append بشه Angel
مشکل اینجاست که ()load. محتوای جدید رو جایگزین قبلی می کنه و کوتاه هم نمیاد Dodgy

اصلا بزارین مثال رو کامل بزنم Big Grin
این صفحه ی مثلا lists.php
کد پی‌اچ‌پی:
<?php
    
echo '
        <li>3</li>
        <li>4</li>
    '
;
?>

این هم حالا توی صفحه ی index.php هستش
کد:
<ul id="target">
    <li>1</li>
    <li>2</li>
</ul>
حالا من میخوام با استفاده از ایجکس اینطوری عمل کنم، محتویات lists.php بیاد و بچسبه به ته ul بالایی. یعنی مثل زیر
کد:
<ul id="target">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
</ul>
امااااااا Big Grin
من وقتی اینجوری می نویسم کد رو
کد پی‌اچ‌پی:
$('#targetDiv').load('lists.php'); 
نتیجه میشه این Undecided
کد:
<ul id="target">
    <li>3</li>
    <li>4</li>
</ul>
می دونم که باید محتویات تازه لود شده به آخرش append شه ولی نمی تونم بنویسم این بخش رو Blush Confused
  پاسخ
تشکر شده توسط :
#6
سلام
خوب اونجوری نباید بنویسی دیگه شما داری کل اون آیدی رو سلکت می کنی بعد اون لود رو میریزی توش ، خوب معلومه جواب نمیده ،
Angel دادا اون مثالها باید کار کنه از li:last استفاده کنی حله
موفق باشی
  پاسخ
تشکر شده توسط : masoudmanson


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان