1

I am trying to use the data returned and pass it to another javascript to process. The bottom code works.

var st1 = 'Florida';
var st = convert_state(st1, 'abbrev');
container.find("input[name='State']").val(st);

I have tried using:

var st1 = data.state;
var st = convert_state(st1, 'abbrev');
container.find("input[name='State']").val(st);

Result was false. I tried removing the quotes.

var st1 = data.state.replace(/\"/g, "");
var st = convert_state(st1, 'abbrev');
container.find("input[name='State']").val(st);

Same result>false

Thanks for taking a look.

<script>
    function convert_state(name, to) {
        var name = name.toUpperCase();
        var states = new Array({ 'name': 'Alabama', 'abbrev': 'AL' }, { 'name': 'Alaska', 'abbrev': 'AK' },
            { 'name': 'Arizona', 'abbrev': 'AZ' }, { 'name': 'Arkansas', 'abbrev': 'AR' }, { 'name': 'California', 'abbrev': 'CA' },
            { 'name': 'Colorado', 'abbrev': 'CO' }, { 'name': 'Connecticut', 'abbrev': 'CT' }, { 'name': 'Delaware', 'abbrev': 'DE' },
            { 'name': 'Florida', 'abbrev': 'FL' }, { 'name': 'Georgia', 'abbrev': 'GA' }, { 'name': 'Hawaii', 'abbrev': 'HI' },
            { 'name': 'Idaho', 'abbrev': 'ID' }, { 'name': 'Illinois', 'abbrev': 'IL' }, { 'name': 'Indiana', 'abbrev': 'IN' },
            { 'name': 'Iowa', 'abbrev': 'IA' }, { 'name': 'Kansas', 'abbrev': 'KS' }, { 'name': 'Kentucky', 'abbrev': 'KY' },
            { 'name': 'Louisiana', 'abbrev': 'LA' }, { 'name': 'Maine', 'abbrev': 'ME' }, { 'name': 'Maryland', 'abbrev': 'MD' },
            { 'name': 'Massachusetts', 'abbrev': 'MA' }, { 'name': 'Michigan', 'abbrev': 'MI' }, { 'name': 'Minnesota', 'abbrev': 'MN' },
            { 'name': 'Mississippi', 'abbrev': 'MS' }, { 'name': 'Missouri', 'abbrev': 'MO' }, { 'name': 'Montana', 'abbrev': 'MT' },
            { 'name': 'Nebraska', 'abbrev': 'NE' }, { 'name': 'Nevada', 'abbrev': 'NV' }, { 'name': 'New Hampshire', 'abbrev': 'NH' },
            { 'name': 'New Jersey', 'abbrev': 'NJ' }, { 'name': 'New Mexico', 'abbrev': 'NM' }, { 'name': 'New York', 'abbrev': 'NY' },
            { 'name': 'North Carolina', 'abbrev': 'NC' }, { 'name': 'North Dakota', 'abbrev': 'ND' }, { 'name': 'Ohio', 'abbrev': 'OH' },
            { 'name': 'Oklahoma', 'abbrev': 'OK' }, { 'name': 'Oregon', 'abbrev': 'OR' }, { 'name': 'Pennsylvania', 'abbrev': 'PA' },
            { 'name': 'Rhode Island', 'abbrev': 'RI' }, { 'name': 'South Carolina', 'abbrev': 'SC' }, { 'name': 'South Dakota', 'abbrev': 'SD' },
            { 'name': 'Tennessee', 'abbrev': 'TN' }, { 'name': 'Texas', 'abbrev': 'TX' }, { 'name': 'Utah', 'abbrev': 'UT' },
            { 'name': 'Vermont', 'abbrev': 'VT' }, { 'name': 'Virginia', 'abbrev': 'VA' }, { 'name': 'Washington', 'abbrev': 'WA' },
            { 'name': 'West Virginia', 'abbrev': 'WV' }, { 'name': 'Wisconsin', 'abbrev': 'WI' }, { 'name': 'Wyoming', 'abbrev': 'WY' }
            );
        var returnthis = false;
        $.each(states, function (index, value) {
            if (to == 'name') {
                if (value.abbrev == name) {
                    returnthis = value.name;
                    return false;
                }
            } else if (to == 'abbrev') {
                if (value.name.toUpperCase() == name) {
                    returnthis = value.abbrev;
                    return false;
                }
            }
        });
        return returnthis;
    }
</script>
 $.ajax({
                        "url": url,
                        "dataType": "json"
                    }).done(function (data) {
                        handleResp(data);

                        // Store in cache
                        cache[Zip] = data;
                    }).fail(function (data) {
                        if (data.responseText && (json = $.parseJSON(data.responseText))) {
                            // Store in cache
                            cache[Zip] = json;

                            // Check for error
                            if (json.error_msg)
                                errorDiv.text(json.error_msg);
                        }
                        else
                            errorDiv.text('Request failed.');
                    });
3
  • Can you show the convert_state function? Commented Jun 5, 2015 at 17:43
  • And a sample of the JSON data variable, if possible. Commented Jun 5, 2015 at 17:46
  • I have added the requested code Commented Jun 5, 2015 at 17:56

1 Answer 1

1

I have tried the above code with static json and it is working fine. It seems data received from ajax is not as expected.

I have created a plunker for your reference.

var data = {
  "state" : "Florida"

}

var st1 = data.state;
var st = convert_state(st1, 'abbrev');
alert(st+"");

"http://plnkr.co/edit/VOFKtHo1X6LJsXWg7Eto?p=preview"

Sign up to request clarification or add additional context in comments.

1 Comment

The data was not as expected, once this was fixed it ran fine. Thanks for your time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.