共享点下拉选项过滤器

时间:2018-08-10 20:37:30

标签: filter sharepoint-2013 dropdown infopath2010

我在表格上有一个下拉菜单。我将其设置为列表的唯一条目。这样做很好,当用户选择在上一个列表条目中已经选择的选项时,在保存或提交表单时会通知他们。但是,我宁愿从下拉列表中删除该选择,如果该选择已被选择并存在于列表中,则他们将无法选择已经选择的内容。 谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

我们可以使用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>

enter image description here