option value=3 doesn't get appended

option value=3 doesn't get appended

This has been a tricky one to figure out. I'm using jQuery to dynamically create some content, including some select boxes. To populate the select boxes I'm looping through a JSON object and as soon as I try to add an option that has a value of 3 it doesn't get added, but I'm not getting any errors either. Any Ideas?

Function code is below, light red is the select portion, slightly darker red is the line where the option items are being appended.

  1.         var $outcome = $('<div />').addClass('outcome').attr('id','o_'+outcome_id);
            $outcome.data('block_id', block_id).data('outcome_id', outcome_id);

            // add the delete button
            var $delete_controller = $('<input type="button" value="-" class="action_menu_control" />');
            $delete_controller.click(function(){
                $(this).parent().find('div').andSelf().css({backgroundColor: outcome_highlight });
                if(confirm('Are you sure you would like to delete the "'+all[block_id]['outcomes'][outcome_id]['title']+'" Outcome?')){
                    // add the value back into the block's outcome controller
                    $(this).parents('.block').find('.control:first select').append('<option value="'+$(this).parent().data('outcome_id')+'">'+all[$(this).parent().data('block_id')]['outcomes'][$(this).parent().data('outcome_id')]['title']+'</option>').triggerHandler('update');
                    // remove from the dom
                    $(this).parent().remove();
                    // update totals
                    updateBOITotals();

                } else {
                    $(this).parent().find('div').andSelf().animate( { backgroundColor: 'white' }, 'fast');
                }
            });
            $outcome.append($delete_controller);

            $outcome.append('<h3><span class="total">$<span class="outcome_total">0</span></span><label>Outcome:</label>'+all[block_id]['outcomes'][outcome_id]['title']+'</h3>');

            /*
             *    INDICATOR SELECTOR
            */
            $indicator_controller = $('<select id="indicator_controller_'+outcome_id+'"></select>');
            $indicator_controller.data('block_id',block_id).data('outcome_id',outcome_id);
            $indicator_controller.append($('<option />'));
            // add in the available outcomes for the building block
            $.each(all[block_id]['outcomes'][outcome_id]['indicators'], function(indicator_id, indicator){
                console.log(indicator_id, indicator);
                $indicator_controller.append('<option value="'+indicator_id+'">'+indicator+'</option>');
            });
            // change handler
            $indicator_controller.change(function(){
                // if there was a value selected
                if($(this).val()){
                    // add the building block
                    // removing selected option and updating is handled within the add function
                    addIndicator($(this).data('block_id'), $(this).data('outcome_id'), $(this).val(), '');
                }
            });
            // custom event to handle items being added and removed
            $indicator_controller.bind('update', function(){
                // there's always a blank one, so if there's only one child element, its empty
                if($(this).children().length==1){
                    $(this).hide();
                    $(this).parent().find('label').text('All Indicators Selected').addClass('note');
                }

                // if there's more than one child element and it's hidden, show it
                if($(this).children().length>1 && $(this).is(':hidden')){
                    $(this).show().parent().find('label').text('Choose an Indicator to Add:');
                }
            });
            // add it to the outcome
            $outcome.append($('<h4 class="control"><label>Choose an Indicator to Add:</label> </h4>').append($indicator_controller));
           
            // labels for indicators
            $outcome.append('<div class="top_labels"><label class="amount_indicator">Amount Request for Indicator</label><label class="indicator_label">Indicator</label></div>');

            // add to the block id
            $block = addBuildingBlock(block_id);
            $('.control:first', $block).after($outcome);
            $outcome.animate( { backgroundColor: outcome_highlight }, 'fast').animate( { backgroundColor: 'white' }, 'fast');

            // remove it from the control select
            $block.find('.control select').find('option[value="'+outcome_id+'"]').remove().end().triggerHandler('update');

            return $outcome;