我是SharePoint的新手,我创建了一个自定义列表视图,当我编辑或添加任何新记录时,我希望文本字段具有文本自动完成功能。但我做不到,你能帮我一下吗。
编辑:我要显示的自动完成数据来自SQL Server SP。
请参考此演示:在SharePoint Online中使用JQuery自动完成文本框。
<link rel="stylesheet" href="/sites/vijai/SiteAssets/autocomplete/jquery-
ui.css"/>
<script type="text/javascript" src="/sites/vijai/SiteAssets/autocomplete/jquery-
ui.js"/>
<script type="text/javascript" src="/sites/vijai/SiteAssets/autocomplete/jquery-
1.11.0.min.js"/>
<script type="text/javascript" src="/_layouts/15/init.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.js"></script>
<script type="text/javascript">
var clientContext;
var website;
var array = [];
// Make sure the SharePoint script file 'sp.js' is loaded before your code runs.
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', getAutoComplete);
function getAutoComplete() {
clientContext = SP.ClientContext.get_current();
var oList = clientContext.get_web().get_lists().getByTitle("Employees");
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml("<View><RowLimit>100</RowLimit></View>");
collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(onRequestSucceeded, onRequestFailed);
}
function onRequestSucceeded() {
var listItemInfo = "";
var listItemEnumerator = collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
sArray.push(oListItem.get_item("Title"));
}
$("input[title='Email']").autocomplete({ source: array });
}
function onRequestFailed(sender, args) {
alert('Error: ' + args.get_message());
}
</script>
您可以使用SharePoint Framework(SPFx(将上述JS代码注入SharePoint Online。