我试图根据Sharepoint列表中的信息动态填充下拉列表。我知道我可以将列表添加到页面并隐藏它,但我想要的是使用客户端脚本语言填充列表,并且不在当前页面上存在列表。我假设ajx的方法,但不知道如何做到这一点。我受限于没有SP Designer或Visual Studio。所以这可以通过使用webpart或简单的内容编辑器和客户端脚本代码/ ajax来完成。如果是这样如何?从Sharepoint列表填充下拉列表
2
A
回答
2
对于SharePoint 2007,可以使用GetListCollection方法。
请参见:
1
看看Ribbon customizations - dropdown controls, Client Object Model and JavaScript Page Components。很多代码都是针对功能区的,但loadCurrentWebLists和getDropdownItemsXml展示了您正在尝试执行的操作。你也可以看看SharePoint 2010: Use ECMAScript to manipulate (Add/Delete/Update/Get) List Items和OM model Javascript。这些处理列表项目,但你应该能够适应列表。
1
你可以试试SPServices库吗?
0
这是我如何使用它的是所有用户的权限,以该网站列表中的用户信息列表。 select: function(e, ui){}
是从自动填充框中选择某些内容时调用的函数。
<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: "User Information List",
CAMLViewFields: "<ViewFields>" +
"<FieldRef Name='Title' />" +
"<FieldRef Name='MobilePhone' />" +
"<FieldRef Name='Picture' />" +
"<FieldRef Name='SPSResponsibility' />" +
"<FieldRef Name='Name' />" +
"</ViewFields>",
completefunc: AttachMembersAutoComplete
});
});
function AttachMembersAutoComplete(xmlResponse) {
var domElementArray = $("[nodeName=z:row]", xmlResponse.responseXML);
var dataMap = domElementArray.map(function() {
return {
value: $(this).attr('ows_Title'),
mobile: $(this).attr('ows_MobilePhone'),
picture: $(this).attr('ows_Picture'),
askmeabout: $(this).attr('ows_SPSResponsibility'),
name: $(this).attr('ows_Name')
};
});
var data = dataMap.get();
$("input#inputMembersAutoComplete").autocomplete({
source: data,
select: function(e, ui){
window.alert(ui.item['askmeabout'] + "\n" + ui.item['name']);
if(ui.item['picture'] != undefined) {
var tmpPicture = ui.item['picture'];
var commaIndex = tmpPicture.indexOf(',');
tmpPicture = tmpPicture.substr(0,commaIndex);
}else{
var tmpPicture = "/_layouts/images/person.gif";
}
var tmpHTML = "<div>";
tmpHTML += "<a href='/Person.aspx?accountname=" + ui.item['name'] + "' >";
tmpHTML += "<p>"+ ui.item['value'] + " " + ui.item['mobile'] + "</p>";
tmpHTML += "</a>";
tmpHTML += "<img src='"+ tmpPicture + "' />";
tmpHTML += "</div>";
$("#person_info").html(tmpHTML);
}
});
}
</script>
相关问题
- 1. 与表列表填充下拉列表
- 2. 从另一个下拉列表填充下拉列表
- 3. 填充下拉列表/选择列表
- 4. 填充下拉列表
- 5. 填充下拉列表
- 6. 填充下拉列表
- 7. MVC填充下拉列表
- 8. Yii - 填充下拉列表
- 9. 填充gridview下拉列表
- 10. Sharepoint 2007:根据下拉列表框1选择填充下拉列表框2
- 11. YUI 2.5。从XML填充下拉列表
- 12. 从下拉列表填充第二类
- 13. 从数据库填充下拉列表
- 14. 从db填充下拉列表
- 15. 从下拉菜单和填充列表
- 16. 没有从MySQL填充下拉列表
- 17. 从php和.dat填充下拉列表
- 18. PHP填充下拉列表,onchange根据值填充不同的下拉列表
- 19. MVC下拉列表填充另一个下拉列表
- 20. 在选择其他下拉列表时填充下拉列表
- 21. Sharepoint下拉列表
- 22. 从对象列表填充下拉列表
- 23. 动态填充从另一个下拉列表中选择下拉列表
- 24. 从BCS外部列表填充SharePoint Group
- 25. Sharepoint 2010与网站用户填充下拉列表
- 26. 使用jquery填充下拉列表
- 27. 下拉列表没有得到填充
- 28. 如何填充md-autocomplete下拉列表?
- 29. 动态填充下拉列表
- 30. 用月/年填充下拉列表
对不起忘了提,我使用SP 2007年,将在该版本 – Jake 2011-02-02 15:37:21
此外ECMAScript的思想工作..心不是丝带最低要求的用户仍然在XP的视窗7..Most,所以不会第一个链接的想法工作? – Jake 2011-02-02 16:01:27