आशा है कि कोई सलाह दे सकता है। एक लिंक पर क्लिक करने के बाद एक पंक्ति को हटाने की कोशिश कर रहे मुद्दों को क्लिक करना।jQuery निकटतम टीआर चयन
एचटीएमएल
<table>
<tr><td>Some Data</td><td><a href="#" class="remove-row>Remove Row</a></td></tr>
<tr><td>Some Data</td><td><a href="#" class="remove-row">Remove Row</a></td></tr>
</table>
अब जे एस
$("a.remove-row").live('click', function(eve){
eve.preventDefault();
$.ajax({
type: 'GET',
url: '/someaction/',
dataType: 'json',
success: function(msg){
if(msg.error){
alert(msg.error);
}else{
$(this).closest('tr').remove();
alert(msg.success);
}
}
})
});
यह असली सरल मगर अपनी पंक्ति को हटाने नहीं होना चाहिए। किक के लिए बस अगर मैं की तरह
$('.remove-row').addClass('foo');
कुछ के लिए इसे बदल यह सब तालिका पंक्तियों को foo जोड़ देगा। तो समझ सकते हैं कि यह निकटतम पंक्ति को क्यों नहीं हटा रहा है।
कोई विचार?
उन्नत में धन्यवाद।
निक - माइनर सुधार। 'सफलता:' कॉलबैक में, 'यह' 'xhr' ऑब्जेक्ट को संदर्भित करता है, न कि 'विंडो'। http://jsfiddle.net/WzeAh/ * यह निश्चित रूप से आपके प्रस्तावित समाधान के संबंध में कोई प्रासंगिकता नहीं है। * +1 – user113716
@patrick - क्षमा करें, मैं उत्तर में थोड़ा और स्पष्टीकरण दूंगा, यह * व्यवहार * वर्तमान उपयोग के लिए 'विंडो' की तरह, उदाहरण के लिए '$ (यह)। ढूँढें (चयनकर्ता) 'वही काम करता है जैसे' $ (यह) '' $ (विंडो) 'या' $ (दस्तावेज़) 'था। –
निक - जब तक मैं आपकी स्पष्टीकरण को गलत समझा नहीं जाता, ऐसा लगता है कि यह (कॉलबैक के अंदर) नहीं लगता है कि '$ (यह) आपको '$ (दस्तावेज़)' के समान व्यवहार देता है, क्योंकि' .find() 'रिटर्न '0' मैचों। http://jsfiddle.net/WzeAh/1/ संपादित करें: '$ (विंडो) '' 0' परिणाम भी देता है। – user113716