我有一个存储图像 URL 的列表,我正在尝试读取项目列表并在页面上显示图像。为此,我编写了如下脚本......
<script type="text/javascript">
function ViewItem()
{
var myQueryString = '<Query><Where><Eq><FieldRef Name="Anchor" /><Value
Type="Boolean">1</Value></Eq></Where></Query>';
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var list = web.get_lists().getByTitle('AnchorImageList');
var myquery = new SP.CamlQuery();
myquery.set_viewXml(myQueryString);
myItems = list.getItems(myquery);
context.load(myItems, 'Include(Title,ImageURL)');
context.executeQueryAsync(Function.createDelegate(this, this.success),
Function.createDelegate(this, this.failed));
}
function success()
{
var LinkURL= "";
var ImageURL="";
var ListEnumerator = this.myItems.getEnumerator();
while(ListEnumerator.moveNext())
{
var currentItem = ListEnumerator.get_current();
LinkURL = currentItem.get_item('Title') ;
ImageURL= currentItem.get_item('ImageURL');
document.write('<img src="' + ImageURL+ '"+>');
alert(LinkURL);
}
}
function failed(sender, args)
{
alert("failed. Message:" + args.get_message());
}
</script>
<a href="#" onclick="Javascript:ViewItem();">View Items</a>
在我的 CAML 查询中,我试图过滤为“Anchor?”(是/否列)标记为是的项目。
但我看到了所有结果,即使我标记了一些项目不显示。我在这里做错了什么。请有人帮助我。另外,图片加载到页面后,页面仍然显示轮子,好像在处理什么。我需要为此做些什么吗?
最佳答案
试试这个:
<View>
<Query>
<Where>
<Eq>
<FieldRef Name="Anchor" />
<Value Type="Boolean">1</Value>
</Eq>
</Where>
</Query>
</View>
如果它不适合您,请按照以下步骤操作:
- 使用标准功能创建 ListView 。
- 在 SharePoint Designier 中打开它,然后从代码中复制 CAML 查询。
希望这会有所帮助。
关于javascript - 读取列表项 Sharepoint 2010 客户端对象模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12696061/