Skip to main content

IE 9 and IE 10 Issue for Dropdown list with many items...Sharepoint 2010

Issue


$(document).ready(function () {

            // Country column
            var _countyName = "Country";

            //State Column
            var _stateName = "State";

            // Override the Country
            OverrideDropDownList(_countyName);

            //Set first value of the country as default.
            updateOriginalField(_countyName, "tempDDLName_" + _countyName);

            //Override for State
            OverrideDropDownList(_stateName);

            // Main Function
            function OverrideDropDownList(columnName) {

                // Construct a drop down list object
                var lookupDDL = new DropDownList(columnName);

                // Do this only in complex mode...
                if (lookupDDL.Type == "C") {

                    // Hide the text box and drop down arrow
                    lookupDDL.Obj.css('display', 'none');
                    lookupDDL.Obj.next("img").css('display', 'none');

                    // Construct the simple drop down field with change trigger
                    var tempDDLName = "tempDDLName_" + columnName;
                    if (lookupDDL.Obj.parent().find("select[ID='" + tempDDLName + "']").length == 0) {
                        lookupDDL.Obj.parent().append("");

                        lookupDDL.Obj.parent().find("select[ID='" + tempDDLName + "']").bind("change", function () {
                            updateOriginalField(columnName, tempDDLName);
                        });
                    }

                    // Get all the options
                    var splittedChoices = lookupDDL.Obj.attr('choices').split("|");

                    // get selected value
                    var hiddenVal = $('input[name=' + lookupDDL.Obj.attr("optHid") + ']').val()
                    if (hiddenVal == "0") {
                        hiddenVal = lookupDDL.Obj.attr("value")
                    }

                    // Replacing the drop down object with the simple drop down list
                    lookupDDL = new DropDownList(tempDDLName);

                    // Populate the drop down list
                    for (var i = 0; i < splittedChoices.length; i++) {
                        var optionVal = splittedChoices[i];
                        i++;
                        var optionId = splittedChoices[i];

                        var selected = (optionId == hiddenVal) ? " selected='selected'" : "";
                        lookupDDL.Obj.append("");
                    }
                }
            }

            // method to update the original and hidden field.
            function updateOriginalField(child, temp) {
                var childSelect = new DropDownList(child);
                var tempSelect = new DropDownList(temp);

                // Set the text box
                childSelect.Obj.attr("value", tempSelect.Obj.find("option:selected").val());

                // Get Hidden ID
                var hiddenId = childSelect.Obj.attr("optHid");

                // Update the hidden variable
                $('input[name=' + hiddenId + ']').val(tempSelect.Obj.find("option:selected").val());
            }

            // just to construct a drop down box object. Idea token from SPServces
            function DropDownList(colName) {
                // Simple - when they are less than 20 items
                if ((this.Obj = $("select[Title='" + colName + "']")).html() != null) {
                    this.Type = "S";
                    // Compound - when they are more than 20 items
                } else if ((this.Obj = $("input[Title='" + colName + "']")).html() != null) {
                    this.Type = "C";
                    // Multi-select: This will find the multi-select column control on English and most other languages sites where the Title looks like 'Column Name possible values'
                } else if ((this.Obj = $("select[ID$='SelectCandidate'][Title^='" + colName + " ']")).html() != null) {
                    this.Type = "M";
                    // Multi-select: This will find the multi-select column control on a Russian site (and perhaps others) where the Title looks like '????????? ????????: Column Name'
                } else if ((this.Obj = $("select[ID$='SelectCandidate'][Title$=': " + colName + "']")).html() != null) {
                    this.Type = "M";
                } else
                    this.Type = null;
            } // End of function dropdownCtl
        });

Comments

Popular posts from this blog

How to deal with SharePoint 2010 exception "An exception occurred when trying to issue security token: The server was unable to process the request due to an internal error"

Scenario: You receive the below exception when you try to logon to a site that has been configured to use Claims Based Authentication with a custom membership provider using FBA credentials: Event ID from Event Log  - 8306 An exception occurred when trying to issue security token: The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.. Explanation: This error started to appear in our QA environment which does not have Visual Studio installed. I have tried starting the service "Claims to Windows Token Service" but that did not help either. I have made sure that all config...

Cascading drop down column in a SharePoint List

This article will show how to use codeplex project to achieve Cascading drop down columns in SharePoint list. This article will show how to achieve parent child relationship in column of SharePoint list.   Objective This article will show how to use codeplex project to achieve Cascading drop down columns in SharePoint list. This article will show how to achieve parent child relationship in column of SharePoint list. Step 1 Download the project from codeplex . Choose WSP file to download. To download the project Click here Step 2 After downloading the WSP add the solution using STSADM command. Navigate to BIN folder and add the solution. Command C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\BIN> stsa dm -o addsolution -filename c:\Stoneshare.CascadingDropDown.WithFilter.wsp Step 3 Open Central ADMIN and deploy solution. Navigate to Operation -> Global Configuration -> Solution Management. Select the Global Deployment option. St...

Programmatically adding documents to a document set sharepoint 2010

In continuation with the previous post about  how to create a document sets programmatically , here i will post a little code snippet for adding a document to this document set that we just created in our previous post. For this example i am adding a file to our custom document set which already exists on SharePoint server. You can however, use the file upload control to browse and add a file to your docuemntset. void addDocumentToDocuemntSet() { // Get the existing file SPFile spfile = web.GetFile(“http://SPSite:8080/Lists/DemoLib/abc.txt”); byte[] documentBytes = new byte[spfile.TotalLength]; if (spfile.Exists) { FileStream fs = new FileInfo(spfile.url).OpenRead() fs.Read(documentBytes, 0, (int)fi.Length); //add the default document to your document set template newDocumentSetTemplate.DefaultDocuments.Add(spfile.Name, web.ContentTypes["Document"].Id, documentBytes); } how to create a document sets programmatically