2014-03-25 114 views
0

我需要從其他列表項目的SharePoint頁面中填充下拉列表。我想從其他列表項目下拉列表項目。請幫忙,謝謝。我不知道如何開始。從其他列表項目共享點填充下拉列表

+0

你想讓兩個列表具有相同選項的下拉字段嗎?請澄清你的問題。 – Kate

回答

0

您需要使用jQuery從列表中獲取項目。請按照下面的代碼示例從列表中獲取項目: 請參閱下面的示例,我們將填充DropDown(選擇控件),其中列表項值從Sharepoint列表中獲取,其中FieldName等於Alpha。您可以通過修改CAML查詢來修改結果。在下面的代碼中的變量的名稱與您LISTNAME替代,網站名稱等

var soapEnv = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \ 
          <soapenv:Body> \ 
          <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \ 
          <listName>SPListName</listName> \ 
          <viewFields> \ 
           <ViewFields> \ 
            <FieldRef Name='Title' /> \ 
           </ViewFields> \ 
          </viewFields> \ 
          <query> \ 
           <Query> \ 
           <OrderBy> \ 
           <FieldRef Name='Title'/> \ 
           </OrderBy>\ 
            <Where> \ 
             <Eq> \ 
             <FieldRef Name='FieldName'/> \ 
             <Value Type='Text'>"+ "Alpha" +"</Value> \ 
             </Eq> \ 
            </Where> \ 
            </Query> \ 
            </query> \ 
          </GetListItems> \ 
          </soapenv:Body> \ 
          </soapenv:Envelope>"; 


    $.ajax({ 
     url: "http://servername/sitename/_vti_bin/lists.asmx", 
     type: "POST", 
     dataType: "xml", 
     data: soapEnv, 
     complete: processResult, 
     contentType: "text/xml; charset=\"utf-8\"" 
    }); 


}); 

//下面的函數填充從列表中讀取到下拉控制數據。

function processResult(xData, status) { 

    $(xData.responseXML).find("z\\:row").each(function() { 

     $("select[title='SelectControlID']").append("<option value='" + $(this).attr("ows_ID") + "'>" + $(this).attr("ows_Title") + "</option>"); 

    });    
}