簡體   English   中英

使用自動完成功能篩選SharePoint中jQuery列表中的列表

[英]Using autocomplete to filter a list in a jQuery list in SharePoint

我已經從http://jqueryui.com/demos/autocomplete/#combobox加載了自動填充組合框腳本,該腳本與列表一起顯示。

在它下面,我有一個列表可以很好地使用:

  • 函數processResult(xData,status){$(xData.responseXML).find(“ List”)。each(function(){$(“#data”)。append(+ $(this).attr(“ Title”) +);}); }
  • 感謝Jan Tielens Bloggings: http ://weblogs.asp.net/jan/archive/2009/04/09/calling-the-sharepoint-web-services-with-jquery.aspx

    選定某項后,如何才能實際過濾該列表? 我假設它在$(this).attr()中,但似乎沒有任何作用。

    提前為DAY1新手問題致歉。

    謝謝

    使用SPServices並在自動完成中使用select選項:

    <link href="../css/jquery-ui.css" rel="stylesheet" type="text/css"/>
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript" src="../js/jquery-ui.js"></script>
    <script type="text/javascript" src="../js/jquery.SPServices-0.5.8.js"></script>
    
    <script type="text/javascript">
    $(document).ready (function() {
        $().SPServices({
            operation: "GetListItems",
            async: true,
            listName: "Resources",
            CAMLViewFields: "<ViewFields>" +
                "<FieldRef Name='Title' />" +
                "<FieldRef Name='resource_link' />" +
                "<FieldRef Name='image_url' />" +
                "</ViewFields>",
            completefunc: AttachAutoComplete
        });
    
        function AttachAutoComplete(xmlResponse) {
            var domElementArray = $( "[nodeName=z:row]", xmlResponse.responseXML );
    
            var dataMap = domElementArray.map(function() {
                return {
                    value: $(this).attr('ows_Title'),
                    url: $(this).attr('ows_resource_link'),
                    image_url: $(this).attr('ows_image_url')
                };
            });
    
            var data = dataMap.get();
    
            $("input#inputAutoComplete").autocomplete({
                source: data,
                formatItem: function(row){
                    if(row){
                        return "<table><tr><td><img src=\"" + row.image_url + "\" border=\"0\" /></td><td>"+ row.value + " 55</td></tr></table>";
                    }
                },
                select: function(e, ui){
                    window.open(ui.item['url']);
                }
            });
        }
    </script>
    

    即使您使用標准輸入,也可以觸發onkeyup。 它看起來像:

    <input type="text" name="search" id="txtSearch" onkeyup="searchOpen()" />
    

    暫無
    暫無

    聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

     
    粵ICP備18138465號  © 2020-2024 STACKOOM.COM