# NaN as value of ComboBox results

1pc used Ask the Experts™
on
I want to calculate the sum of the selected value of ComboBox cb1 and cb2.
It seems that the result is a txt variable and not a Number. And that's the problem.
The result must be a 'Number'value and not a textvalue!
I've changed the result value with int(), Number(),.. etc without success...

``````// create 3 combobox with the names: cb1, cb2

var cb_1_count:Number=0;
var cb_2_count:Number=0;
var total:Number=0;

for (var i:Number=1; i<=5; i++){cb1.addItem({data:[i], label:[i]});}
for (var i:Number=1; i<=3; i++){cb2.addItem({data:[i], label:[i]});}

var cb1Listener:Object = cb1;
cb1Listener.change = function(event_obj:Object) {
cb_1_count = (event_obj.target.selectedItem.data);
calculateIt();}

var cb2Listener:Object = cb2;
cb2Listener.change = function(event_obj:Object) {
cb_2_count = (event_obj.target.selectedItem.data);
calculateIt();}

function calculateIt() {
total = Number(cb_1_count) + Number(cb_2_count)
trace (total); // MUST BE NUMERIC!
}
``````
Comment
Watch Question

Do more with

EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Top Expert 2008
Commented:
Problem in your code is data population code
//--------------------
for (var i:Number=1; i<=5; i++){cb1.addItem({data:[i], label:[i]});}
for (var i:Number=1; i<=3; i++){cb2.addItem({data:[i], label:[i]});}
//--------------------

it should have been as following:
//--------------------
for (var i:Number=1; i<=5; i++){cb1.addItem({data:i, label:i});}
for (var i:Number=1; i<=3; i++){cb2.addItem({data:i, label:i});}
//--------------------

below is the complete fixed code which works fine:
``````// create 3 combobox with the names: cb1, cb2

var cb_1_count:Number = 0;
var cb_2_count:Number = 0;
var total:Number = 0;

for (var i:Number = 1; i<=5; i++) {
}
for (var i:Number = 1; i<=3; i++) {
}
var cb1Listener:Object = cb1;
cb1Listener.change = function(event_obj:Object) {
cb_1_count = (event_obj.target.selectedItem.data);
calculateIt();
};

var cb2Listener:Object = cb2;
cb2Listener.change = function(event_obj:Object) {
cb_2_count = (event_obj.target.selectedItem.data);
calculateIt();
};