This is a migrated thread and some comments may be shown as answers.

selected text is missing in dropdownlist

3 Answers 96 Views
ComboBox
This is a migrated thread and some comments may be shown as answers.
Aewin
Top achievements
Rank 1
Aewin asked on 23 Apr 2013, 04:37 AM
Hi Telerik Team,


Good Morning.

I use two dropdownlists,multiple checkboxes are included in each dropdownlist, and second dropdownlist check box data must be changed accordingly to the selection of first dropdownlist check box data.


When I click frist dropdownlist and nothing do changes but second drop downlist selected data is missing although its checkboxes are still selected.


Please check my attached powerpoint.

Regards,
Aewin.



3 Answers, 1 is accepted

Sort by
0
Nencho
Telerik team
answered on 24 Apr 2013, 12:46 PM
Hello Aewin,

Would you provide us with the implementation of the related controls, in order to inspect the faced issue locally and troubleshoot it for you?


All the best,
Nencho
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Aewin
Top achievements
Rank 1
answered on 25 Apr 2013, 06:02 AM
  <telerik:RadCodeBlock runat="server" ID="RadCodeBlock1">
        <script type="text/javascript">
            var id = null;
            var LoadRole;
            var Department_ID = null;
            var JobRole_ID = null;

           
            function pageLoad() {
                // initialize the global variables
                // in this event all client objects 
                // are already created and initialized 

                var panelbar = $find("<%= RadPanelBar1.ClientID %>");
                var item = panelbar.findItemByText("Step 3:Roles");
                LoadRole = item.findControl("cboRole");
            }

    
            function LoadRole(sender, eventArgs) {
                var chk_text = sender.get_text();
                var combo = sender;
                var items = combo.get_items();
                var itemCount = items.get_count();

                var n = chk_text.split(",");
                var n_count = n.length;

                if (n_count == 1) {
                    for (var counter = 0; counter < itemCount; counter++) {
                        var item = items.getItem(counter);
                        var item_text = item.get_text();
                        if (chk_text == item_text) {
                            item.set_checked(true)
                        }
                        else {
                            item.set_checked(false)
                        }
                    }
                }

                var i = 0;
                var q = "";
                while (i < sender._itemData.length) {
                    q += sender._itemData[i].checked ? sender._itemData[i].value : "";
                    if (i + 1 < sender._itemData.length) {
                        if (sender._itemData[i].checked) {
                            q += ",";
                        }
                    }
                    i++;
                }

                LoadRole.clearItems();

                // if a continent is selected
                if (q != "") {
                    // this will fire the ItemsRequested event of the 
                    // industryType combobox passing the industrySectorID as a parameter 
                    LoadRole.requestItems(q, false);
                }
                else {
                    // the -Select an Industry Sector- item was chosen
                    LoadRole.clearItems();
                }
            }

            function LoadDepartmentIDCheckedItems(sender, e) {

                var chk_text = sender.get_text();
                var combo = sender;
                var items = combo.get_items();
                var itemCount = items.get_count();

                var n = chk_text.split(",");
                var n_count = n.length;

                if (n_count == 1) {
                    for (var counter = 0; counter < itemCount; counter++) {
                        var item = items.getItem(counter);
                        var item_text = item.get_text();
                        if (chk_text == item_text) {
                            item.set_checked(true)
                        }
                        else {
                            item.set_checked(false)
                        }
                    }
                }

                var i = 0;
                var q = "";
                while (i < sender._itemData.length) {
                    q += sender._itemData[i].checked ? sender._itemData[i].value : "";
                    if (i + 1 < sender._itemData.length) {
                        if (sender._itemData[i].checked) {
                            q += ",";
                        }
                    }
                    i++;
                }
                var hidden = document.getElementById('<%=hidRoleIDs.ClientID %>');
                hidden.value = q;
//                var hidden_d = document.getElementById('<%=hidDepartmentIDs.ClientID %>');
//                hidden_d.value = q;
            }

        
           

            // to set checked to item checkbox sndh
            function OnClientDropDownClosedHandler(sender, eventArgs) {

                var chk_text = sender.get_text();
                var combo = sender;
                var items = combo.get_items();
                var itemCount = items.get_count();

                var n = chk_text.split(",");
                var n_count = n.length;

                if (n_count == 1) {
                    for (var counter = 0; counter < itemCount; counter++) {
                        var item = items.getItem(counter);
                        var item_text = item.get_text();
                        if (chk_text == item_text) {
                            item.set_checked(true)
                        }
                        else {
                            item.set_checked(false)
                        }
                    }
                }
            }

           
        </script>
    </telerik:RadCodeBlock>

---------------------------------------------------------------------------------------------------------------------------------------------
.CS file

protected void cboRole_ItemsRequested(object o, RadComboBoxItemsRequestedEventArgs e)
    {
        // e.Text is the first parameter of the requestItems method 
        // invoked in LoadIndustryType method 
        Response.Write(e.Text);
        txtTest.Text = e.Text;
        BindRole(e.Text);
        
    }

 protected void BindRole(string DepartmentID)
    {
       // txtTest.Text = DepartmentID;
        Response.Write("BindRole");
        hidDepartmentIDs.Value = DepartmentID;

        //hidDepartmentIDs.Value is missing after postback
        
        if (DepartmentID != null && DepartmentID != "")
        {
            RadComboBox cboRole = (RadComboBox)RadPanelBar1.FindItemByValue("Role").FindControl("cboRole");
            Role role = new Role();
        
            RadComboBox cboCompanyName = (RadComboBox)RadPanelBar1.FindItemByValue("Registration").FindControl("cboCompanyName");

            role.orgID = orgID;
            role.companyID = cboCompanyName.SelectedValue;
            role.department = DepartmentID;


            cboRole.DataSource = role.GetRoleListByCompanyID();
            cboRole.DataTextField = "roleTitle";
            cboRole.DataValueField = "sysKey";
            cboRole.DataBind();

            check_bind_Combobox(hidRoleIDs.Value, cboRole);
        }
    }
    
    protected void ShowData()

0
Hristo Valyavicharski
Telerik team
answered on 30 Apr 2013, 07:48 AM
Hello Aewin,

I tested your code, but it seems to be working. When I select items from the second combo they are added to the combo's input. I'm attaching my testing sample. Please check it out and let me know if I have missed something.

All the best,
Hristo Valyavicharski
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
Tags
ComboBox
Asked by
Aewin
Top achievements
Rank 1
Answers by
Nencho
Telerik team
Aewin
Top achievements
Rank 1
Hristo Valyavicharski
Telerik team
Share this question
or