filter - Sharepoint 下拉选择过滤器
问题描述
我在表格上有一个下拉菜单。我将其设置为列表的唯一条目。这很好用,当用户选择已在先前列表条目中选择的选项时,他们会在保存或提交表单时收到通知。但是,如果该选择已经做出并存在于列表中,我宁愿从下拉列表中删除该选择,这样他们就无法选择已经选择的内容。谢谢你的帮助
解决方案
我们可以使用 REST API 来获取所有存在的下拉项,然后在新建/编辑表单页面中删除下拉选项。以下代码供您参考。
<script src="//code.jquery.com/jquery-3.3.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
removeDuplicateDropDowm("FilterDropDown");
});
function removeDuplicateDropDowm(fieldName){
var listId = _spPageContextInfo.pageListId.replace("{","").replace("}","");
var fieldHTML="";
var url = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists(guid'"+listId+"')/items?$select="+fieldName;
$.ajax({
url: url,
method: "GET",
async:false,
headers: { "Accept": "application/json; odata=verbose" },
success: function (data) {
var items = data.d.results;
$("select[title='"+fieldName+"'] option").each(function(){
for(var i=0;i<items.length;i++){
if(items[i][fieldName]==$(this).val()){
$(this).remove();
}
}
});
},
error: function (error) {
console.log(JSON.stringify(error));
}
});
return fieldHTML;
}
</script>
推荐阅读
- ios - 如何在 Xcode 控制台之外查看 NSLog
- html - 带有 iframe 的嵌入式网站中的 iOS 滚动问题
- git - TFS 资源管理器您正在访问敏感信息,您需要验证您的密码
- java - Grails 没有找到能够从 [java.lang.Long] 类型转换为 [User] 类型的转换器
- laravel - laravel 应用自动更新
- r - 查找数据框行之间的唯一值并替换它们(R)
- meteor - Meteor 1.6 Meteor.userId() 检查用户的可靠方法?
- google-apps-script - 将值和公式从一个电子表格复制到另一个电子表格
- javascript - 儿童身高上的CSS过渡div高度
- php - 显示来自 db 的图像