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

[Solved] find a control in radscheduler inlinetemplate using javascript

2 Answers 141 Views
Scheduler
This is a migrated thread and some comments may be shown as answers.
utchi
Top achievements
Rank 1
utchi asked on 10 Dec 2009, 11:16 AM
Hi,

I need to find a radcombo and update its collection using javascript.

Please check with the coding given below, it showing error message, 'null object' for Radcombo2,

function

 

clientselectedindexchanged(sender,e) // Radcombo1 selected index change

 

 

 {

 

var item = e.get_item();

 

 

 

var comboItem = sender.get_text();

 

 

 

if(comboItem == 'Cancel Episodes')

 

 

 {

 

var combo= $find('<%= Radcombo2.ClientID %>');

 

 

 

 

var

 

comboItem1 = new Telerik.Web.UI.RadComboBoxItem();

 

 

 

 comboItem1.set_text(

'welcome');

 

 

 combo.get_items().add(comboItem1);

comboItem1.select();

 

combo.trackChanges();

 

 

 combo.commitChanges();

 

 

}
}

Please give any suggestion.

Thanks in advance.

Regards,
Utchimahali.N

2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 10 Dec 2009, 11:55 AM
Hi Utchimahali,

You can save the ClientID in a HiddenField and then access the second combobox using the saved HiddenField value as shown below.

ASPX:
 
 <InlineInsertTemplate> 
        <telerik:RadComboBox ID="RadComboBox1" runat="server" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged"
            <Items> 
                <telerik:RadComboBoxItem Text="Item1" /> 
                <telerik:RadComboBoxItem Text="Item2" /> 
            </Items> 
        </telerik:RadComboBox> 
        <telerik:RadComboBox ID="RadComboBox2" runat="server"
        </telerik:RadComboBox> 
    </InlineInsertTemplate> 

CS:
 
    protected void RadScheduler1_FormCreated(object sender, SchedulerFormCreatedEventArgs e) 
    { 
        if (e.Container.Mode == SchedulerFormMode.Insert) 
        { 
            RadComboBox cb1 = (RadComboBox)e.Container.FindControl("RadComboBox1"); 
            RadComboBox cb2 = (RadComboBox)e.Container.FindControl("RadComboBox2"); 
            HiddenField1.Value = cb2.ClientID;             
        }   
    } 

JavaScript:
 
<script type="text/javascript"
    function OnClientSelectedIndexChanged() { 
        var hf = document.getElementById("HiddenField1"); 
        var combo2 = $find(hf.value); 
        alert(combo2.get_items().get_count()); 
    } 
</script> 

-Shinu.
0
utchi
Top achievements
Rank 1
answered on 10 Dec 2009, 01:08 PM

hi,

Thanks for ur help, but doesn't work.

Please find the attached screenshot it showing error, value store in hiddenfield and code modified as given below,

function

 

clientselectedindexchanged(sender,e)

 

{

 

 

var item = e.get_item();

 

 

var comboItem = sender.get_text();

 

 

if(comboItem == 'Cancel Episodes')

 

{

 

 

var hf = document.getElementById("cmb_cancelepisode");

 

 

var cmb_cancelepisode = $find(hf.value);

 

alert(cmb_cancelepisode.get_items().get_count());

 

var comboItem = new Telerik.Web.UI.RadComboBoxItem();

 

 

comboItem.set_text(

'welcome');

 

 

cmb_cancelepisode.get_items().add(comboItem);

comboItem.select();

comboItem.set_text(

'welcome1');

 

cmb_cancelepisode.trackChanges();

 

cmb_cancelepisode.commitChanges();

comboItem.scrollIntoView();

 

 

}
}

and in cs file,

 

RadComboBox

 

ComboEpisode = (RadComboBox)e.Container.FindControl("cmb_CancelingOptions");

 

cmb_cancelepisode.Value = ComboEpisode.ClientID;

 

Please give any suggstion to solve it.

Thanks in advance.

Regards
UTchimahali.N



Tags
Scheduler
Asked by
utchi
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
utchi
Top achievements
Rank 1
Share this question
or