3

我们使用 jQuery、jQuery 模板和 Wufoo jQuery API 来显示表单中的数据,使用以下代码:

<div id="people">           
    <ul>
        <script id="attendeeTemplate" type="text/x-jquery-tmpl">
            <li>
                <h4>${Field1}</h4>
                ${Field3} minutes
            </li>
             </script>
    </ul>
</div>

这很好用,但是我们希望将其限制为仅显示前 10 个条目。现在它正在显示数据库中的每个条目(使用下面的 JavaScript 和 API 排序)。请注意,我们仅尝试显示前 10 名,按分钟数从高到​​低排序。

这是JavaScript:

<script>
    function processEntries(data) {
        $.each(data.Entries, function(entriesIndex, entriesObject) {
            // Make sure this entry has all the required bits
            if (entriesObject.Field1 && entriesObject.Field3) {
                $("#attendeeTemplate").tmpl(entriesObject).appendTo("#people ul");  
            }
        });
    };

    $.wufooAPI.getEntries({
        "callback"   : processEntries,             // Name of custom function declared above
        "formHash"   : "BLAH",                   // Found by clicking "Code" button from the Form Manager, then the "API Information" button
        "sortID"   : "Field3",                   // Found by clicking "Code" button from the Form Manager, then the "API Information" button
        "sortDirection"   : "DESC",                   // Found by clicking "Code" button from the Form Manager, then the "API Information" button

    });
</script>

任何关于如何将其限制在前 10 名的想法都会非常有帮助!

4

3 回答 3

3

这应该有效:

data.Entries.slice(0,9); 
于 2012-05-12T05:00:17.260 回答
2

如果您不能使用数据库施加限制,您仍然可以像这样进行修复:

function processEntries(data) {
    var i = 0;
    $.each(data.Entries, function(entriesIndex, entriesObject) {
        // Make sure this entry has all the required bits
        if (entriesObject.Field1 && entriesObject.Field3 && i<10) {
            $("#attendeeTemplate").tmpl(entriesObject).appendTo("#people ul");
            i++;
        }
    });
};

注意:这假设您以前以某种方式订购了整体

于 2012-05-12T05:03:17.537 回答
1

假设这data.Entries是一个数组,您可以使用Array.slice()

$.each(data.Entries.slice(0, 9), function(entriesIndex, entriesObject) {
于 2012-05-12T05:02:30.137 回答