Auction Nudge:替换.keyup函数

时间:2013-01-07 15:10:11

标签: jquery function ebay

我正在尝试使用Auction Nudge代码来显示我的易趣店铺中的商品。当您在表单中输入文本时,此代码段会过滤项目。我想要做的是使用静态关键字替换表单中的.keyup函数,该关键字将在加载页面时过滤结果。

我已经尝试过修剪和修改代码,但我的jQuery知识并不是真正的划痕。

对于这个例子,我想只使用关键字'Jiffy'

来显示项目
                <!doctype html>
            <html lang="en">
             <head>
              <meta charset="utf-8" />
              <title>Auction Nudge Demo - Filtering By Keyword</title>
              <style type="text/css">
    form label {
        display: block;
        font-weight: bold;
    }
   </style>
  </head>
  <body>
    <p>This example demonstrates how to filter a list of items shown using the column theme. Items not matching the specified keyword will be hidden. <a href="http://www.auctionnudge.com/demos/demo-filter-by-keyword.html.txt">view the source</a></p>


<form>
    <label for="auction-nudge-filter">Filter</label>
    <input type="text" name="auction-nudge-filter" id="auction-nudge-filter" value="Enter a keyword…" />
</form>
    <script type="text/javascript" src="http://www.auctionnudge.com/item_build/js/SellerID/soundswholesale/siteid/3/theme/columns/MaxEntries/100/grid_cols/2/grid_width/100%25/show_logo/0"></script><div id="auction-nudge-items" class="auction-nudge"><a href="http://www.auctionnudge.com/">Live eBay Listings From Auction Nudge</a></div>
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
        function auction_nudge_loaded() {
            var filter_cleared = false;
            $(document).ready(function() {
                //Clear text input on focus (only the first time!)
                $('#auction-nudge-filter').focus(function() {
                    if(! filter_cleared) {
                        $(this).val('');
                        filter_cleared = true;
                    }
                });

                //Each time the keyword input field is updated
                $('#auction-nudge-filter').keyup(function() {
                    var keyword = $(this).val().toUpperCase();
                    //Iterate over each item title
                    $('#auction-nudge-items td.title').each(function() {
                        var row = $(this).parent('tr');
                        var title = $(this).text().toUpperCase();
                        //If the title does not contain the keyword then hide the row
                        if(title.indexOf(keyword) == -1) {
                            row.hide();
                            $('td', row).hide();
                        } else {
                            row.show();
                            $('td', row).show();
                        }
                    });                 
                });
            });
        }
    </script>
     </body>
    </html>

2 个答案:

答案 0 :(得分:0)

只是在拍卖中没有调用文件准备就绪。准备好的文件将不会消防

答案 1 :(得分:0)

以下是脚本的修改版本,它将过滤给定关键字的结果(在本例中为“KEYWORD_TO_FILTER_BY”):

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>Auction Nudge Demo - Filtering By Keyword</title>
    <style type="text/css">
        form label {
            display: block;
            font-weight: bold;
        }
    </style>
  </head>
  <body>    
        <script type="text/javascript" src="http://www.auctionnudge.com/item_build/js/SellerID/soundswholesale/siteid/3/theme/columns/MaxEntries/100/grid_cols/2/grid_width/100%25/show_logo/0"></script><div id="auction-nudge-items" class="auction-nudge"><a href="http://www.auctionnudge.com/">Live eBay Listings From Auction Nudge</a></div>
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script type="text/javascript">
            function auction_nudge_loaded() {
                var filter_cleared = false;
                $(document).ready(function() {
                    var keyword = 'KEYWORD_TO_FILTER_BY';
                    //Iterate over each item title
                    $('#auction-nudge-items td.title').each(function() {
                        var row = $(this).parent('tr');
                        var title = $(this).text().toUpperCase();
                        //If the title does not contain the keyword then hide the row
                        if(title.indexOf(keyword) == -1) {
                            row.hide();
                            $('td', row).hide();
                        } else {
                            row.show();
                            $('td', row).show();
                        }
                    });                 
                });
            }
        </script>
  </body>
</html>