JQuery / Ajax中的错误

Hello I am trying to get a value from an HTML option tag but i'm getting the next error:

function get_states(){
    $(function(){
        $.ajax({
            **var id = $(this).val;** it says that the error is here but I don't see it
            url: 'competitors/get_states.php',
            method: 'post',
            contentType: "application/json",
            data: {id = id}
        }).done(function(msg){
            alert(msg);
        }).fail(function(msg, TxtStatus){
            alert("fallo: "+ TxtStatus);
        });     
    });
};

Hope you can help me, have a nice day.

var id = $(this).val;

Should be

var id = $(this).val();

.val is a property, .val() is a method

To get the value of an element from jQuery, you need to use .val()

Besides val() in your code as the other answer metioned,you also need to change data format in your code

change:

data: {id = id}

To:

data: {id:id}

Also,I don't know why you add contentType: "application/json" in your code, you need pay attention to that it might cause you return data problem