Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Changing values with jQuery

I have the following:

<span class="label-info">3</span>

I have the following jquery

var replaceit = $(this).closest(':has(.label-info)').find('.label-info').text();

The value of the variable is always a single whole number but will not always be 3:

ie: 1, 2, 3, 4, 5.

I have tried this numerous ways and cannot get the value to change. My latest attempt was:

return $(this).closest(':has(.label-info)').html().replace(replaceit, (replaceit - 1)); 

My end result, is to subtract 1 from whatever the current value of "lable-info" is, and switch it with this new result. So a new span based on the value of 3 would become.

<span class="label-info">2</span>

How do I achieve this?

Updated Code for more clarity

html:

<div>
<span class="lable-info">3</span>
</div>

<div>
   <a class="accept_friend">accept</a>
</div>

javascript:

    $(document).on("click", "a.accept_friend", function() { 
        var checkValue = $(this).closest(':has(.name)').find('.name').text();
        var removeit = $(this).closest(':has(.item)').find('.item').fadeOut();
        var replaceit = $(this).closest(':has(.label-info)').find('.label-info').text();
        $.ajax({
            url: '/includes/accept_friend.php',
            type: 'post',
            data: {checkValue},
            success:function(data){
            return removeit;
            $("a.remove_pending").text(function () {
            return ('.label-info').html().replace(replacei, replaceit); 
        });
    }

Notes:

I am not using id. I am using class. There are multiple classes with the same name. So I have to call by closest.

like image 873
Bruce Avatar asked Sep 13 '16 05:09

Bruce


People also ask

How do I set the value of a element in jQuery?

The val() method returns or sets the value attribute of the selected elements. When used to return value: This method returns the value of the value attribute of the FIRST matched element.

How can check input value change or not in jQuery?

Answer: Use the input Event You can bind the input event to an input text box using on() method to detect any change in it.

What is '$' in jQuery?

The jQuery object :) From the jQuery documentation: By default, jQuery uses "$" as a shortcut for "jQuery" So, using $("#id" ) or jQuery("#id") is the same.

Does jQuery Val trigger change event?

When you dynamically set a value in a textfield using jQuery . val(), you have to manually trigger the . change event if you want to add extra code that trigger when the value of the field change.


1 Answers

Getting a value from a span, subtracting it by 1 and updating the span(using jQuery):

HTML

<span class="label-info">3</span>

jQuery

var n  = $(".label-info").text(),
    n2 = n - 1;
$(".label-info").text(n2);

Hope it helps a bit

like image 194
codelock Avatar answered Sep 30 '22 07:09

codelock