In the following script, the ‘choices’ array is defined correctly.
It also displays as expected with the showArray() function.
I was experimenting to see if I could dynamically create a similiar array of array (picks),
but I’m having difficulty with my syntax.
I highlighted the commands I believe are not correct in RED.
Does anyone have an idea how I can duplicate the ‘choices’ array into the ‘pick’ array.
[code]
<html>
<body>
<form id=”drop_list” onsubmit=”return false”>
<button onclick=”showArray(choices)”>Choice display</button>
<button onclick=”showPicks()”>Picks display</button>
</form>
<script type=”text/javascript”>
var choices = [ // an array OF arrays */
[ “AK”, “Alaska” ],
[ “AL”, “Alabama” ],
[ “AR”, “Arkansas” ],
[ “AZ”, “Arizona” ],
[ “CA”, “California” ],
[ “FL”, “Florida” ],
[ “GA”, “Georgia” ],
[ “TX”, “Texas” ],
[ “VT”, “Vermont” ] // Note: No comma after last entry
];
// want to create above array of arrays from strings below
var picks = [];
var arrStates = [
“AK:Alaska”, “AL:Alabama”, “AR:Arkansas”, “AZ:Arizona”,
“CA:California”, “FL:Florida”, “GA:Georgia”, “TX:Texas”, “VT:Vermont” ];
// following is NOT used at this time.
// var strStates = “AK:Alaska|AL:Alabama|AR:Arkansas|AZ:Arizona|CA:California|FL:Florida|GA:Georgia|TX:Texas|VT:Vermont”;
function showPicks() {
var tarr = [];
for (var i=0; i<arrStates.length; i++) {
tarr = arrStates[i].split(‘:’);
[COLOR=”#FF0000″] picks.push([tarr[0]],[tarr[1]]); // this does not appear to work as desired
// picks.push([tarr[0]]+’,’+[tarr[1]]); // neither does this
[/COLOR] }
showArray(picks);
}
function showArray(arr) {
var abb = sta = ”;
for (var i=0; i<arr.length; i++) { abb += arr[i][0]+’n’; }
for (var i=0; i<arr.length; i++) { sta += arr[i][1]+’n’; }
alert(arr.join(‘n’)+’nn’+abb+’nn’+sta);
}
</script>
</body>
</html>