sharepoint - Sharepoint 调查:动态更新查找
问题描述
我目前正在设计一个 Sharepoint 调查。
第一个问题是从列表中查找,如下所示:
Course1
Course2
Course3
Course4
现在,用户必须选择这些答案之一。当我进行查找时,我在更新列表时遇到了问题。
这个想法是,用户可以添加自己的课程来补充列表。
例如,他可以选择 OTHER 并在文本框中输入 Course5,然后将其添加到列表中。然后下一个用户应该能够从下拉列表中选择 Course5。¨
我在将调查结果写入列表时遇到问题 - 这甚至可能吗?
亲切的问候。
解决方案
在选择字段中,它提供了“填写”功能,不幸的是,查找列无法提供此功能。
作为一种解决方法,我们可以使用 jQuery 在 newform.aspx 页面下方的查找列中附加一个文本框和一个按钮。在文本框中添加一些文本并单击“添加”按钮,然后将数据添加到查找列表。以下示例供您参考:
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
var questionTitle="question1";
var lookupListName="CL30";
$(function(){
$("select[title='"+questionTitle+"']").closest("td").append("<input id='lookupitemTitle' type='text'/> <input id='addlookupitembtn' type='button' value='Add'>");
$("#addlookupitembtn").click(function(){
if($("#lookupitemTitle").val().trim()!=""){
AddListItem(lookupListName);
}
});
});
function AddListItem(listName){
var itemType = GetItemTypeForListName(listName);
var item = {
"__metadata": { "type": itemType },
"Title": $("#lookupitemTitle").val()
};
$.ajax({
url: _spPageContextInfo.siteAbsoluteUrl + "/_api/web/lists/getbytitle('" + listName + "')/items",
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(item),
headers: {
"Accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val()
},
success: function (data) {
var item=data.d;
$("select[title='"+questionTitle+"']").append("<option selected='selected' value='"+item.ID+"'>"+item.Title+"</option>");
},
error: function (data) {
alert("Error");
}
});
}
function GetItemTypeForListName(name) {
return "SP.Data." + name.charAt(0).toUpperCase() + name.split(" ").join("").slice(1) + "ListItem";
}
</script>
推荐阅读
- android - 如何知道 Android 中 TextInputLayout 错误的颜色是什么?
- java - 带有类的 DB2 驱动程序 - Weblogic 14c 开发版本缺少 weblogic.jdbc.db2.DB2Driver
- android - CardView 不包装内容
- javascript - 是否有比使用 if (response.status === 201) 更少硬编码的替代方法?
- php - 在元素内回显 img
- reactjs - 禁用或隐藏工具提示而不管理提示状态(材料 UI)
- reactjs - 如何使用 8base 重新获取查询
- c# - 以前的值在我的 C# 列表中被覆盖
- c# - C# HttpClient - 如果在请求标头中将 UseCookies 设置为 false,是否可以从响应中获取 cookie?
- gsub - 使用R提取“..”之前的子字符串