Welcome Guest, Not a member yet? Register   Sign In
Ajax Question
#1

When I keyup on my input it runs the ajax

But on success it creates a class called well multiple times as shown in image below

[Image: 3GlIXGdE7aUN.png]



How can I make sure it only creates one class only even when keyup.

Code:
$('input[name=\'tags\']').on('keyup', function(e){
    $.ajax({
        url: "<?php echo base_url('questions/tags');?>",
        dataType: 'json',
        type: 'post',
        data: {
            tags: $('input[name=\'tags\']').val()
        },
        success: function(json) {
            $('<p class="well"></p>').insertAfter($("input[name='tags']"));
        }
    });

});
There's only one rule - please don't tell anyone to go and read the manual.  Sometimes the manual just SUCKS!
Reply
#2

Replace
Code:
on('keyup'

with:
Code:
one('keyup'
Reply
#3

(03-25-2017, 02:36 AM)Wouter60 Wrote: Replace
Code:
on('keyup'

with:
Code:
one('keyup'

Is it possible to still use on?
There's only one rule - please don't tell anyone to go and read the manual.  Sometimes the manual just SUCKS!
Reply
#4

I think I don't understand your problem.
You are using on('keyup'), which fires the ajax routine every time you release a key on your keyboard. So when you type 'city', it is fired 4 times.
If you use one('keyup'), the same happens, but only once. So the <p class="well"></p> will be inserted after your input just once.
Reply




Theme © iAndrew 2016 - Forum software by © MyBB