• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
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


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.