2015-05-22 5 views
16

वापस करने के लिए एक ही कक्षा के एकाधिक बटनों का उपयोग कर jQuery, मेरे पास PHP द्वारा उत्पन्न प्रविष्टियों की एक सूची है, प्रत्येक में अपने स्वयं के div में और प्रत्येक एक अद्वितीय आईडी के साथ। मैं एक AJAX कॉल है कि उनके आईडी के आधार पर प्रत्येक प्रविष्टि को हटा सकते हैं विकसित करने के लिए कोशिश कर रहा हूँ, फिर भी जब भी मैं स्क्रिप्ट नीचे चलाने के लिए, यह हमेशा रिटर्न 0.एक मूल्य

<div> 
    Some entry here 
    <button id="0" class="remove">Remove</button> 
</div> 
<div> 
    Another entry here 
    <button id="1" class="remove">Remove</button> 
</div> 
// ... and so on 

<script> 
    $(".remove").click(function() { 
     var id = $(".remove").attr('id'); 
     alert(id); // debug 
     // AJAX call here 
    }); 
</script> 

पहले मैं दूसरी तरह के आसपास को छोड़कर एक ही बात करने की कोशिश की - PHP द्वारा लौटाई गई आईडी कक्षा विशेषता में थी और आईडी विशेषता का मूल्य 'निकालना' था और यह केवल पहले बटन के लिए 0 लौटा था। दूसरे बटन ने jQuery स्क्रिप्ट को बिल्कुल भी नहीं बुलाया।

मैं एक ही jQuery कॉल में एक अद्वितीय आईडी कैसे पास कर सकता हूं?

उत्तर

11

प्रयास करें इस

$(".remove").click(function() { 
    var id = $(this).attr('id'); // $(this) refers to button that was clicked 
    alert(id); 
}); 
6

बस this.id का उपयोग तत्व

$(".remove").click(function() { 
 
    alert(this.id); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div> 
 
    Some entry here 
 
    <button id="0" class="remove">Remove</button> 
 
</div> 
 
<div> 
 
    Another entry here 
 
    <button id="1" class="remove">Remove</button> 
 
</div>

1
$(".remove").on("click",function() { 
    var id = $(this).attr('id'); 
    console.log(id); 
}); 
3

आप this कीवर्ड उपयोग करने की आवश्यकता की आईडी प्राप्त करने के लिए क्लिक किए गए तत्व को संदर्भित करने के लिए:

$('.remove').click(function() { 
    var id = this.id; 
    // OR 
    var id = $(this).attr('id'); 
}); 
5

भविष्य के दर्शकों के लिए वेनिला विकल्प।

  1. एक क्लिक हैंडलर
  2. बताए क्लिक पर, वर्ग remove
  3. तत्वों के माध्यम से दोहराएं साथ सभी तत्वों का चयन करें पेरेंट तत्व
  4. को दूर सांत्वना

(function() { 
 
    "use strict"; 
 
    var buttons = document.getElementsByClassName('remove'); 
 
    for (var i in Object.keys(buttons)) { 
 
     buttons[i].onclick = function() { 
 
      this.parentElement.remove(); 
 
      console.log(this.id); 
 
     }; 
 
    } 
 
})();
<div>Some entry here 
 
    <button id="0" class="remove">Remove</button> 
 
</div> 
 
<div>Another entry here 
 
    <button id="1" class="remove">Remove</button> 
 
</div>
करने के लिए आईडी लॉग इन करें

संबंधित मुद्दे