【问题标题】:Jquery, codeigniter working with load and replaceWithJquery,codeigniter 使用 load 和 replaceWith
【发布时间】:2012-03-15 10:29:31
【问题描述】:

这是生成页面的代码:

<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>

replaceWithload 的 JS:

$(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})
    });

});

load 正在调用以下页面(对于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 和 categorija 之外的所有内容都被替换,但在萤火虫中我得到了积极的响应(页面请求的页面加载时没有错误,但没有显示)。我做错了什么?

【问题讨论】:

  • Dosent LOAD 和 REPLACEWITH 都替换了内容,因此您正在替换替换的内容。那么你不能只是将ID添加到加载方法中,或者制作一个普通的ajax GET并使用replacewith函数吗?
  • 我看到了我的思维方式的错误。我只是删除了 replaceWith 函数,它现在正在工作:D
  • 酷。我刚刚创建了一个答案,所以你可以关闭主题:)

标签: javascript jquery codeigniter jquery-load


【解决方案1】:

Dosent LOAD 和 REPLACEWITH 都替换了内容,因此您正在替换替换的内容。

所以你不能只是将 ID 添加到加载方法中,或者制作一个普通的 ajax GET 并使用 replacewith 函数吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    相关资源
    最近更新 更多