Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery click event for a class starting with same initial name

I have multiple divs added dynamically. The class name is given as "result_"+id where the id is from database table.

<div class="result_137">Gaurab Dahal</div>
<div class="result_138">saurab dahal</div>

enter image description here

How can I write the click event so that it can adddress the div on which it is clicked.

for example I can write the css like below to address all the divs that has classname starting with the string "result".

div[class^="result"]{
    padding:5px;
    width:490px;
    background: rgba(204,204,204,0.5);
    font: 12px arial, verdana, sans-serif;
}
like image 464
GaurabDahal Avatar asked Dec 26 '12 07:12

GaurabDahal


2 Answers

For dynamically added div you need to us on() for binding event. You can delegate event to doucment or to parent element of dynamically added elements.

Live Demo

$(document).on('click', 'div[class^=result]', function(){
    alert($(this).text());                              
}); 
like image 172
Adil Avatar answered Nov 12 '22 22:11

Adil


As you have dynamically added divs so:

$(function(){    // ready handler required
    $(document).on('click', 'div[class^=result]', function(){ // .on in your case
        alert($(this).text());                               // will be helpful
    });
});
like image 23
Jai Avatar answered Nov 12 '22 23:11

Jai