2016-09-15 10 views
0

アイテムをクリックすると私をウェブサイトにリダイレクトするドロップダウンメニューがあります。ドロップダウンメニューのJavascriptでSharePointリストアイテムを取得する

<select onChange="window.location.href=this.value"> 
    <option value='none' selected>Please Select WebSite...</option> 
    <option value="http://www.Link1.com">Title1</option> 
    <option value="http://www.Link2.com">Title2</option> 
    <option value="http://www.Link3.com">Title3</option> 
</select> 

私はこのスクリプトをSharePointで使いたいのですが、私はどのようにSharePointリストから名前とリンクを取得できるのでしょうか?

マイSharePointリストは、 "WEB" という名前と、それは2つの列を持ってい

  • "タイトル"(テキスト)
  • "リンク"(Hrefの)
+0

どのバージョンのSharePointを使用していますか? – Thriggle

答えて

0

このコードはからデータを取得リスト。 これをコピーしてコンソールに貼り付けて、スクリプトエディタのWebパーツに貼り付けます。

var ctx = SP.ClientContext.get_current(); 
var list = ctx.get_web().get_lists().getByTitle('WEB'); 
var query = SP.CamlQuery.createAllItemsQuery(); 
var items = list.getItems(query); 
ctx.load(items); 
ctx.executeQueryAsync(function() { 
    for (var i = 0; i < items.get_count(); i++) { 
     var item = items.getItemAtIndex(0); 
     var obj = item.get_fieldValues(); 
     console.log(obj); // this is sharepoint list item object 
     console.log(obj.Title); // the Title 
     console.log(obj.Link); // the Link 
    } 
}); 
0

使用しているのSharePointのバージョンに応じ、答えは異なる可能性があります。私たちは現在、プロダクション環境でSharePoint 2010を実行しています。これまでSPServicesライブラリを使用してこのようなことを行ってきました。基本的な例は次のようになります

https://spservices.codeplex.com/

:あなたは、ソースコードやここにドキュメントを見つけることができ、これは、あなたを実行するために得るために

var $j10 = $.noConflict(true); 
 

 
$j10(document).ready(function() { 
 

 
    var list = "Current Sites"; 
 

 
    /* Fields within the List you want to utilize or display */ 
 

 
    var fields = "<ViewFields>" + 
 
    "<FieldRef Name='Title' />" + 
 
    "<FieldRef Name='Link' />" + 
 
    "</ViewFields>"; 
 

 
    /* Query parameters for the data set you want to return, in CAML syntax */ 
 

 
    var query = "<Query>" + 
 
    "<OrderBy>" + 
 
    "<FieldRef Name='Title' Ascending='TRUE' />" + 
 
    "</OrderBy>" + 
 
    "</Query>"; 
 

 
    /* Method Call */ 
 

 
    GetListItems(list, fields, query); 
 

 
}); 
 

 
function GetListItems(listName, listFields, listQuery) { 
 
    $j10().SPServices({ 
 

 
    operation: "GetListItems", 
 
    listName: listName, 
 
    CAMLViewFields: listFields, 
 
    CAMLQuery: listQuery, 
 

 
    completefunc: function(xData, Status) { 
 

 
     $j10(xData.responseXML).SPFilterNode("z:row").each(function() { 
 

 
     /* Any processing required for each row of data begins here... */ 
 

 
     /* Get Field Data */ 
 

 
     var name = ($j10(this).attr("ows_SiteName")); 
 
     var url = ($j10(this).attr("ows_Url")); 
 

 
     /* Process and Display Field Data */ 
 

 
     $j10("#yourContainerID").append("<option value='" + url.substr(url.indexOf("#") + 1) + "'>" + name.substr(name.indexOf("#") + 1) + "</option>"); 
 
     }); 
 
    } 
 
    }); 
 
}

そのページに適切なバージョンのSPServicesスクリプトとjQueryライブラリを登録する必要があります。これは、上で参照されたコードプレックス・サイトで十分に文書化されています。

関連する問題