如何为匹配的元素应用内联编辑(在jQuery中)?

时间:2009-12-22 00:09:23

标签: jquery javascript-events

这可能是一个更普遍的jQuery(甚至是Javascript)问题:基本上我正在使用jquery-in-place-editor插件来构建我正在构建的成员资格门户,其中此页面列出了数据库表中的所有成员。因此,您可以想象此页面包含许多具有典型字段的配置文件,例如姓名,个人资料,个人资料图片和电子邮件地址,我希望管理员能够编辑每个个人资料(成员中的所有字段)在同一页面内。问题是:虽然我可以选择应用内联编辑的特定元素,但我无法想出一种动态方式来选择所有元素。我已经发布了js代码,如果您需要更多信息,请告诉我。

$(document).ready(function () {
    $(".name").editInPlace({
        url: "./update.php",
        field_type: "text",
        saving_image: "./images/ajax-loader.gif",
        show_buttons: true
    });
});

HTML:

<ul class="column">
    <li>
        <div class='block'>
            <a href='member.php?memberid=3'>
                update
            </a>
            |
            <a href='delete.php?memberid=1' class='delete'>
                delete
            </a>
            <div class='memberImage' id='1'>
                <img src='http://www.somewhere.com/img.png'
                />
                <h2>
                    <p class='name' id='1'>
                        a.b
                </h2>
                <p class='email' id='1'>
                    a.b@c.com
                </p>
                <p class='profile' id='1'>
                    this is whatever
                </p>
            </div>
    </li>
    <li>
        <div class='block'>
            <a href='member.php?memberid=2'>
                update
            </a>
            |
            <a href='delete.php?memberid=2' class='delete'>
                delete
            </a>
            <div class='memberImage' id='2'>
                <img src='http://www.somewhere.com/img2.png'
                />
                <h2>
                    <p class='name' id='2'>
                        abc
                </h2>
                <p class='email' id='2'>
                    abc@def.com
                </p>
                <p class='profile' id='2'>
                    This is abc
                </p>
            </div>
    </li>   
</ul>

所以我的update.php就像它的名字一样,为每个id更新表。

正如你所看到的,这里的问题是$(".name")选择所有clas =“name”(在这种情况下有多个元素),我知道我可以遍历所有这些元素并调用方法,但这对我来说似乎太难看了。有什么建议我怎么能做到这一点?谢谢!

1 个答案:

答案 0 :(得分:0)

如果你所拥有的代码不起作用(如果它确实很好;插件的作者应该重新编写它,所以我认为),这应该是:

$(document).ready(function () {
    $(".name").each(function(){
        $(this).editInPlace({
            url: "./update.php",
            field_type: "text",
            saving_image: "./images/ajax-loader.gif",
            show_buttons: true
        });
    });
});

请参阅http://docs.jquery.com/Core/each#callback