woj_jas
woj_jas

Reputation: 1088

How to get button value by ajax

I'm having issue by getting button value by ajax. I've got 4 buttons with other values

<button type="button" value="today" onclick=postdata class="btn btn-primary btn-lg ">Today</button>
<button type="button" onclick=postdata value="week"  class="btn btn-primary btn-lg ">Week</button>
<button type="button" value="month" onclick=postdata class="btn btn-primary btn-lg ">Today</button>
<button type="button" onclick=postdata value="year"  class="btn btn-primary btn-lg ">Week</button>



function postdata(link) {
    $.ajax({
        url: link,
        type: "POST",
        data: {
            date:$('button').val()
        }
    })
}

Onclick I always get value of first button , can somebody tell me how to get value of clicked button by ajax ?

Upvotes: 4

Views: 17457

Answers (2)

Felix
Felix

Reputation: 38102

You can do:

$('button').click(function() {
    var val = $(this).val();

    $.ajax({
        url: link,
        type: "POST",
        data: {
            date:val;
        }
    });
});

Btw, it's better to give your button a common class to target it more precisely.

Upvotes: 3

Royi Namir
Royi Namir

Reputation: 148524

Change onclick=postada to onclick=postada(this)

and then :

function postdata(link) {

$.ajax({
    url: link,
    type: "POST",
    data: {
        date:$(link).val();
    }
})
}

Notice : I don't recommend the way you're doing it , I prefer binding via :

$('botton').on('....

Upvotes: 2

Related Questions