[英]Jquery, codeigniter working with load and replaceWith
這是用於生成頁面的代碼:
<div id="mali_oglasi">
<?php foreach ($mgs as $key) : ?>
<p class="mali_oglas">
<span class="name"><?php echo $key['name'] ?></span>
<span class="body"><?php echo $key['body'] ?></span>
<span class="contact_author"><?php echo $key['contact_author'] ?></span>
<span class="date_created"><?php echo $key['date_created'] ?></span>
<span class="date_expires"><?php echo $key['date_expires'] ?></span>
<span class="email"><?php echo $key['email'] ?></span>
<?php foreach ($lokacija as $lok) : ?>
<?php if($lok['id_location'] == $key['location_id']) : ?>
<span class="lokacija" id="<?php echo $lok['id_location'] ?>"><?php echo $lok['name'] ?></span>
<?php endif ?>
<?php endforeach; ?>
<?php foreach ($kategorija as $kat) : ?>
<?php if($kat['id_category'] == $key['category_id']) : ?>
<span class="kategorija" id="<?php echo $kat['id_category'] ?>"><?php echo $kat['name'] ?></span>
<?php endif ?>
<?php endforeach; ?>
<a class="obrisi" id="<?php echo $key['id_global_info'] ?>">Obrisi</a>
<a class="izmeni" id="<?php echo $key['id_global_info'] ?>">Izmeni</a>
</p>
<?php endforeach; ?>
</div>
這將產生以下結果:
<div id="mali_oglasi">
<p class="mali_oglas">
<span class="name">fbsd</span>
<span class="body">sdhdsf</span>
<span class="contact_author">mirko</span>
<span class="date_created">2012-03-15 11:24:19</span>
<span class="date_expires">2012-04-14 11:24:19</span>
<span class="email">a@a.com</span>
<span class="lokacija" id="1">Pirot</span>
<span class="kategorija" id="1">Auto i Moto</span>
<a class="obrisi" id="19">Obrisi</a>
<a class="izmeni" id="19">Izmeni</a>
</p>
<p class="mali_oglas">
<span class="name">dsh</span>
<span class="body">dshg</span>
<span class="contact_author">mirko</span>
<span class="date_created">2012-03-15 11:17:52</span>
<span class="date_expires">2012-04-14 11:17:52</span>
<span class="email">a@a.com</span>
<span class="lokacija" id="1">Pirot</span>
<span class="kategorija" id="1">Auto i Moto</span>
<a class="obrisi" id="18">Obrisi</a>
<a class="izmeni" id="18">Izmeni</a>
</p>....
</div>
和JS用於replaceWith
和load
:
$(parent).on('click', '.izmeni', function() {
var name = $(this).siblings('.name').text();
var body = $(this).siblings('.body').text();
var email = $(this).siblings('.email').text();
var contact_author = $(this).siblings('.contact_author').text();
var id_lok = $(this).siblings('.lokacija').attr("id");
var id_kat = $(this).siblings('.kategorija').attr("id");
$(this).siblings('.name').replaceWith('<input value="' + name + '" />');
$(this).siblings('.body').replaceWith('<textarea>' + body + '</textarea>');
$(this).siblings('.date_created').hide();
$(this).siblings('.date_expires').hide();
$(this).siblings('.email').replaceWith('<input value="' + contact_author + '" />');
$(this).siblings('.lokacija').replaceWith(function(){
$(this).load("<?php echo base_url() ?>form/location", {'id' : id_lok})
});
$(this).siblings('.kategorija').replaceWith(function(){
$(this).load("<?php echo base_url() ?>form/category", {'id' : id_kat})
});
});
負載正在調用以下頁面(針對lokacija
):
<select>
<?php foreach ($lokacija as $lok) : ?>
<option
<?php if($lok['id_location'] == $id) : ?>
selected="selected"
<?php endif ?>>
<?php echo $lok['name'] ?>
</option>
<?php endforeach; ?>
</select>
除了lokacija和kategorija之外的所有內容都已替換,但是在Firebug中,我得到了肯定的響應(請求的頁面已加載,沒有錯誤,但未顯示)。 我究竟做錯了什么?
Dosent LOAD和REPLACEWITH都替換了內容,因此您要替換替換的內容。
因此,您不能只是將ID添加到load方法中,還是使普通ajax GET並使用replacewith函數嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.