jQuery:
$(document).ready(function() {
$("a.change_status").click(function(){
var status_id = $("a").val();
alert(status_id);
return false;
});
});
HTML:
<a href="?status=5" class="change_status">Aminul</a><br/>
<a href="?status=25" class="change_status">Arif</a><br/>
<a href="?status=15" class="change_status">Sharif</a><br/>
J'ai besoin de status_id
et pour une raison quelconque, ma balise d'ancrage est dynamique. Je ne peux pas utiliser id ou rendre le nom de la classe dynamique. Je pense que je dois utiliser $this
pour obtenir ma valeur.
Celui-ci est simple:
$(document).ready(function() {
$("a.change_status").click(function(){
var status_id = $(this).attr('href').split('=');
alert(status_id[1]);
return false;
});
});
var status_id= $(this).attr("href").match(/status=([0-9]+)/)[1];
Vous avez deux problèmes distincts ici ... vous devez d’abord trouver le lien sur lequel vous avez cliqué à l’aide de this
, puis trouver la valeur de cet attribut href.
$(document).ready(function() {
$("a.change_status").click(function() {
var status_id = parseURL($(this).attr("href"));
alert(status_id);
return false;
});
});
De plus, javascript ne permettant pas d'extraire les paramètres d'URL, vous devez écrire une fonction (dans l'exemple parseURL
) dans laquelle rechercher la valeur de la variable "status":
function parseURL(theLink) {
return decodeURI((RegExp('status=' + '(.+?)(&|$)').exec(theLink) || [, null])[1]);
}
Voir le jsfiddle suivant:
$('a').attr('href');
devrait faire l'affaire
$(document).ready(function() {
$("a.change_status").click(function(){
var status_id = $(this).attr("href");
alert(status_id); return false;
});
});
Vous pouvez faire ceci comme:
$(document).ready(function() {
$("a.change_status").click(function() {
var status_id = $(this).attr("href");
alert(status_id);
return false;
});
});
$("a.change_status").click(function(){
var status_id = $(this).attr('href');
alert(status_id);
});