I have two resource dropdowns on my scheduler, when the user adds or modifies a schedule. There is the room as one resource, and the teacher as a second resource. How can I capture the teacher name selected from the teacher resource and populate the Subject box during selection time? This would happen client side I presume. I'm just not good at javascript, so have no clue how to do it.
3 Answers, 1 is accepted
0
Hello,
Please use the following code snippet in order to achieve the desired scenario. Please note that for sample purposes I am using resource called "User" but in your case it would be "Teacher".
//markup code
//code behind
//JavaScript
Please find here more information about accessing different elements within the advanced form and how you can manipulate them.
Hope that this helps.
Regards,
Boyan Dimitrov
Telerik
Please use the following code snippet in order to achieve the desired scenario. Please note that for sample purposes I am using resource called "User" but in your case it would be "Teacher".
//markup code
<
telerik:RadScheduler
runat
=
"server"
ID
=
"RadScheduler1"
....
OnFormCreated
=
"RadScheduler1_FormCreated"
>
<
ResourceTypes
>
<
telerik:ResourceType
DataSourceID
=
"SqlDataSource2"
ForeignKeyField
=
"UserID"
Name
=
"User"
TextField
=
"UserName"
/>
</
ResourceTypes
>
</
telerik:RadScheduler
>
//code behind
protected
void
RadScheduler1_FormCreated(
object
sender, SchedulerFormCreatedEventArgs e)
{
if
((e.Container.Mode == SchedulerFormMode.AdvancedEdit) || (e.Container.Mode == SchedulerFormMode.AdvancedInsert))
{
//finds the RadComboBox representing the user resource ( in your case it would be ResTeacher)
RadComboBox userResource = e.Container.FindControl(
"ResUser"
)
as
RadComboBox;
//this line of code will subscribe for the the client-side event fired when user selects a new value from the RadComboBox control
userResource.OnClientSelectedIndexChanging =
"OnClientSelectedIndexChanging"
;
}
}
//JavaScript
function
OnClientSelectedIndexChanging(sender, args) {
var
$ = $telerik.$;
//retrieves the subject field as jQuery object
var
subjectField = $(
"[id$='Subject']"
);
//this is the value of the selected item from the RadComboBox
var
selectedUserName = args.get_item().get_text();
//changes the subject text box to the selected item text value
subjectField.val(selectedUserName);
}
Please find here more information about accessing different elements within the advanced form and how you can manipulate them.
Hope that this helps.
Regards,
Boyan Dimitrov
Telerik
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 the blog feed now.
0
Steve
Top achievements
Rank 1
answered on 07 Sep 2013, 11:27 PM
Thanks for the code. It only partially worked for me. It populated the subject line, but it wouldn't close the form.
I select a teacher, and it populates the subject. I click the save button and all the form elements clear out, and the start and end time are set to the current date and time. The form doesn't close. I have to click the cancel button to get the form to close. I looked in the database and the subject is populated with the teacher name, so I know it's working otherwise.
I select a teacher, and it populates the subject. I click the save button and all the form elements clear out, and the start and end time are set to the current date and time. The form doesn't close. I have to click the cancel button to get the form to close. I looked in the database and the subject is populated with the teacher name, so I know it's working otherwise.
0
Hello,
I am afraid that I am not able to replicate the described behavior at my side.
A possible reason for such behavior might be a JavaScript error preventing the RadScheduler from behaving as expected when appointment is updated. Could you please inspect the application behavior when appointment is being saved with any browsers developer tools and provide the JavaScript error if any? Could you please clarify whether you have implemented any custom logic to handle the form creation or appointment update?
Regards,
Boyan Dimitrov
Telerik
I am afraid that I am not able to replicate the described behavior at my side.
A possible reason for such behavior might be a JavaScript error preventing the RadScheduler from behaving as expected when appointment is updated. Could you please inspect the application behavior when appointment is being saved with any browsers developer tools and provide the JavaScript error if any? Could you please clarify whether you have implemented any custom logic to handle the form creation or appointment update?
Regards,
Boyan Dimitrov
Telerik
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 the blog feed now.