1

I need to limit the possibility per user to be able to edit 3 drop down value items from the quick edit mode option in a SharePoint list(when pressing "edit this list" that is next to the new item option).Any ideas on how to achieve that are welcome. Probably if an alert to pop-up if more than 3 are selected, something with javascript, as I can't think of anything OOTB? The user needs to be able and see all items that are in the list, the list will be opened in edit mode, and then be able to update out of all items in the list the drop down values of only 3 that he/she thinks are most suitable, something like a voting process. Not to be able to update the drop down of more than 3 items.

enter image description here

  • Yes, It is not possible OOTB. Maybe you can achieve this using custom javascript code. – Ganesh Sanap Jan 11 at 14:10
  • Any ideas on how this could happen? Thank you! – Benny Blanco Jan 11 at 14:15
  • Only OOTB option is to limit the view to show only 3 items. In classic experience the view will display only 3 items. In the new experience more then 3 items are displayed, but quick edits display only 3 items to edit. It's kind of funny :) Btw. why do you need it? – Lukas Nespor Jan 11 at 22:20
  • I want to limit users to be able to select only 3 items when in edit mode. – Benny Blanco Jan 14 at 8:58
0

For classic view, you could use PreSaveAction for this requirement.

<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script type="text/javascript">
        function PreSaveAction() {
            var check = false;
            var listid = _spPageContextInfo.pageListId.replace('{', '').replace('}', '');
            var userId = _spPageContextInfo.userId;
            $.ajax({
                url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists(guid'" + listid + "')/items?$filter=AuthorId eq " + userId,
                type: 'GET',
                async: false,
                headers: {
                    "accept": "application/json;odata=verbose",
                    "content-type": "application/json;odata=verbose",
                },
                success: function (data, textStatus, jqXHR) {
                    var count = data.d.results.length;
                    if (count < 3) {
                        check = true;
                    } else {
                        alert('over max items');
                    }
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert(textStatus);
                }
            })
            return check;
        }
    </script>
  • Hi Lee and thank you for the script, but it is not working for me. Added more clarifications to my question description and what I'm trying to achieve, if that'd be of any help for the script you gave. Thank you! – Benny Blanco Jan 14 at 9:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.