以下拉格式显示Sharepoint列表数据

Display Sharepoint list data in Dropdown format

本文关键字:Sharepoint 列表 数据 显示 格式      更新时间:2023-09-26

我正在调用Sharepoint URL(GET)并检索列信息。我在列表中有列名,如名字(如Donald)、姓氏等。现在我必须加入名字&姓氏(Donald Duck),并以下拉列表的形式显示。我正在编写以下代码以获得shareopint响应(XML):

$.ajax({
    type: "GET",
    beforeSend: function(xhr) { xhr.setRequestHeader('Authorization', 'Basic ' + btoa(username + ":" + password)); },	
    url: calURL,
	crossDomain: true,
    //dataType: "xml",
	//cache: false,
    processData: false,
    xhrFields: {
        withCredentials: true
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) { 
	alert(errorThrown); 
	document.getElementById("demo").innerHTML = "Got stuck";
	},
    success: function(xml) { 
	var xmlArr = [];
	var html_text = null;
	alert($(xml).find('entry').text());
	$(xml).find('entry').each(function(){
		var title = $(this).find('title').text();
		var firstName = $(this).find('First Name').text();
		var familyName = $(this).find('Family Name').text();
		var fullName = title + firstName + familyName;
    });
	
	},
});
但是,以上内容并不是从响应中读取值。以及如何将其转换为HTML页面中的下拉列表?谢谢

您尚未提供SharePoint响应XML,但您想要的信息很可能在行元素attributes中,而不是在其text内容中。此外,这个xml中的每个元素都有一个应该被引用的名称空间。

示例XML:

<xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" 
     xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" 
     xmlns:rs="urn:schemas-microsoft-com:rowset" 
     xmlns:z="#RowsetSchema"> 
      <s:Schema id="RowsetSchema"> 
        <s:ElementType name="row"> 
          <s:AttributeType name="CustomerID" rs:number="1" rs:keycolumn="true"> 
            <s:datatype dt:type="int" dt:maxLength="4"/> 
          </s:AttributeType>
          <s:AttributeType name="Title" rs:number="2"> 
            <s:datatype dt:type="string" dt:maxLength="5" /> 
          </s:AttributeType>
          <s:AttributeType name="FirstName" rs:number="3"> 
            <s:datatype dt:type="string" dt:maxLength="15" /> 
          </s:AttributeType> 
          <s:AttributeType name="LastName" rs:number="4"> 
            <s:datatype dt:type="string" dt:maxLength="15"/> 
          </s:AttributeType> 
        </s:ElementType> 
      </s:Schema> 
      <rs:data> 
        <z:row CustomerID="123" Title="Mr."  FirstName="Donald" LastName="Duck"/> 
        <z:row CustomerID="456" Title="Mrs." FirstName="Minney" LastName="Mouse"/> 
        <z:row CustomerID="789" Title="Mr."  FirstName="Stuart" LastName="Little"/> 
      </rs:data> 
</xml>

如果您的响应XML类似于上面的内容,请将ajax成功处理程序更改为

success: function(xml) { 
    $("rs'':data", xml).find("z'':row").each(function() {
        var id = $(this).attr('CustomerID');
        var title = $(this).attr('Title');
        var firstName = $(this).attr('FirstName');
        var lastName = $(this).attr('LastName');
        var fullName = title + firstName + lastName;
        // Add this as an option to <select id="customers"> dropdown list
        var option = '<option value="' + id + '">' + fullName + '</option>';
        $("#customers").append(option);
    });
}