5 Answers, 1 is accepted
You are binding the change event of only one numeric textbox:
$("#num1").data("kendoNumericTextBox").bind("change", function(e){
total();
});
You need to bind to the change events of the other as well:
$("#num2").data("kendoNumericTextBox").bind("change", function(e){
total();
});
$("#num3").data("kendoNumericTextBox").bind("change", function(e){
total();
});
Or pass the change handler during initialization:
$("#num1, #num2, #num3").kendoNumericTextBox({
format: "c2",
change: total
});
Here is the updated jsfiddle: http://jsfiddle.net/korchev/MeEhQ/5/
Atanas Korchev
the Telerik team

Unfortunately I cannot bind the event at initialization I need to do it after. So I was doing as below
$("#num1, #num2, #num3").data("kendoNumericTextBox").bind("change", total);
This binds the event to only one control. I did find a workaround using $("#num1, #num2, #num3").each()
I was wondering if there was a better way like above.
$("#num1, #num2, #num3").data("kendoNumericTextBox") will return the first numeric textbox only (this is how the data method works). Using each or the methods I mentioned in my previous reply is the way to implement this requirement.
All the best,Atanas Korchev
the Telerik team

Please use the following approach to bind to the change event of all Kendo UI MaskedTextBoxes on the page:
$(
"[data-role='maskedtextbox']"
).each(
function
() {
$(
this
).data().kendoMaskedTextBox.bind(
"change"
,
function
() {
//goes the event handler
})
})
Regards,
Boyan Dimitrov
Progress Telerik