[英]search in sharepoint list using jQuery
我需要在 SharePoint 2013 站點主頁中實現搜索,其中搜索結果可能來自列表名稱為ListA
(列名稱為項目名稱和項目類別)的列表。 搜索結果應該只來自上面提到的兩列。 搜索結果出現后,選擇特定搜索結果后,應Projectdetails.aspx
到其特定詳細信息頁面( Projectdetails.aspx
)
我們正在嘗試在 SharePoint Designer 2013 中使用jQuery/REST
API。
請讓我知道任何進一步的信息。 提前致謝!
如果您需要一個想法來做到這一點,您可以執行以下操作:
在 txt 文件中創建 HTML 設計
編寫Javascript
<a href="https://serverurl/lists/yourlist/DispForm.aspx?ID=[id-of-matched-item]"><span>[Item's Title]</span></a>
)創建內容編輯器 Webpart
轉到要放置搜索控件的頁面並編輯該頁面。 插入一個Content editor webpart,在webpart的配置中,引用txt(html)文件,然后保存頁面。 希望這可以幫助
編輯:要使用 CAML 查詢從列表中檢索項目,您可以使用 JSOM
function GetSearchResults() { //search button click handler
// Get textboxes' text.. 'tboxProjectName' and 'tboxProjectCategories' are id's that you assign to textboxes in your html.
var projectNameVal = $('#tboxProjectName').val();
var projectCategoryVal = $('#tboxProjectCategory').val();
//Get SP Context
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle("ListA");
var camlQuery = new SP.CamlQuery();
//you can modify query text according to your data types and applying operators different than <Contains> e.g. <Eq>, <Lt>, <Gt> etc.
var camlText = '<View><Query><Where><Or><Contains><FieldRef Name="Project_x0020_Name"/><Value Type="Text">' + projectNameVal +'</Value></Contains><Contains><FieldRef Name="Project_x0020_Category"/><Value Type="Text">' + projectCategoryVal +'</Value></Contains></Or></Where></Query></View>';
camlQuery.set_viewXml(camlText);
this.collListItem = list.getItems(camlQuery);
context.load(collListItem);
context.executeQueryAsync(getResultsSuccess,onFailure);
}
function getResultsSuccess() {
var listItem;
var html = '';
var dispFormUrl = "https://yourserver.com/lists/lista/dispform.aspx?ID="
var listEnumerator = collListItem.getEnumerator();
while (listEnumerator.moveNext()) {
listItem = listEnumerator.get_current();
html += '<a href = "'+dispFormurl+listItem.get_item("ID")+'"><span>'+listItem.get_item("Title")+'</a> <br />'
}
$('#yourdivID').html(html)
}
function onFailure(sender,args)
{
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.