Hej, Hm, det där verkar inte helt bra.. :) Hej, Hej, nu har jag nästan kommit fram, men problemet är att ja kan ändra href på exakt samma ID men Onclick vill inte ändras! Hej, Nu tror jag att du gör en tankevurpa, har du undersökt att id:t inte ändras, eller har du dragit den slutsatsen utifrån att din funktion inte körs? Hej, nej, ja försöker ändra ID på själva funktionen som ja vill köra... För då hade den kört funktion 2.. Nu binder du bara onclick i början, när sidan laddas.Jquery & Asp Query i attr.
Jag behöver hjälp med en sak i Jquery.
Min kod fungerar, men jag vet inte hur jag får med ID numret vidare.
Min kod:
<code>
function ArtistFavorite_Remove(ArtistID) {
$(document).ready(function () {
$.get("action.asp?remove=artist", { ArtistID: ArtistID }, function (data) {
$("#ArtistFavorite_Results").html(data);
$('#ImgRemove').attr('alt', 'Add this artist to favorite');
$('#ImgRemove').attr('src', 'media/artist_r_add_art_fav_btn.jpg');
$('#ArtistFavorite_Remove').attr('onclick', 'ArtistFavorite_Add(ArtistID)');
})
});
}
</code>
Allt funkar, utan denna rad:
<code>
$('#ArtistFavorite_Remove').attr('onclick', 'ArtistFavorite_Add(ArtistID)');
</code>
Jag lyckas inte skicka med ArtistID vidare till onclick värdet.
De skall se tex ut såhär i onclick:
ArtistFavorite_Add(62)
Och observera att ArtistID i denna kod längst upp är alltså ID numret från querystring, men frågan är hur skickar ja den till onclick??
Tacksam för svarSv: Jquery & Asp Query i attr.
Ta en titt på http://api.jquery.com/unbind/ (vilket nog är vad du vill uppnå?)
För övrigt så tycker jag inte att du ska byta vilken funktion som ska exekveras när man trycker på knappen, gör istället så att funktionen gör olika saker när man trycker på knappen (med t.ex. en if-sats)
För att just få ordning på den raden du hade problem med så är rätt sätt såhär:
$('#ArtistFavorite_Remove').click(function(){ArtistFavorite_Add(ArtistID);});Sv:Jquery & Asp Query i attr.
Det funkade inte...
Men lixom jag förstår inte din kod, ja vill ju ändra attributen på onclick som finns i id: ArtistFavorite_Add
Med din kod ser ja ingen attr, ser bara klick funktion, men ja har testat o de funkade ej..
verkar som de händer nått snabbt exakt i klickögonblicket...
Dvs de ända ja vill göra är att få med ArtistID numret till Onclick, sen funkar funktionen.Sv: Jquery & Asp Query i attr.
Blir tokig på detta snartSv:Jquery & Asp Query i attr.
nu har jag testat med annat, alltså ja blir snart vansinnig på detta:
Allt ändras dom det ska UTAN ID Numret på submit knappen!
<code>
<form method="post" action="javascript:void(0);" id="formen1">
<input type="hidden" name="AID" value="<%= CLng(Request.Querystring("ID")) %>">
<% Set Fav1 = Connect.Execute("Select id FROM favorite WHERE userid = '" & Session("UserID") & "' AND artistid = " & ID & "")
If Fav1.EOF Then %>
<input id="send1" type="image" src="media/artist_r_add_art_fav_btn.jpg">
<% Else %>
<input id="send2" type="image" src="media/artist_r_remove_art_fav_btn.jpg">
<% End If
Fav1.Close
Set Fav1 = Nothing %>
</code>
Js Filen
<code>
//LÄGG TILL I FAVORIT
$(document).ready(function () {
$("#send1").click(function (event) {
$.post("action.asp?add=artist", $("#formen1").serialize(), function (responsData) {
$('#ArtistFavorite_Results').html(responsData);
$('#send1').attr('src', 'media/artist_r_remove_art_fav_btn.jpg');
$('#send1').attr('id', 'send2');
})
});
});
// TA BORT FRÅN FAVORIT
$(document).ready(function () {
$("#send2").click(function (event) {
$.post("action.asp?remove=artist", $("#formen1").serialize(), function (responsData) {
$('#ArtistFavorite_Results').html(responsData);
$('#send2').attr('src', 'media/artist_r_add_art_fav_btn.jpg');
$('#send2').attr('id', 'send1');
})
});
});
</code>
Här funkar allt som det ska, bilden ändras men själva id numret ändras inte och på de sättet fungerar inte funktionen!
Jag fattar inte varför!
Det står ju klart o tydlingt att den skall ändra id på send2 till send1 och tvärt om, ändå gör den inte det!
tacksam för svarSv: Jquery & Asp Query i attr.
jQuery är inte magiskt, den binder events till alla objekt i samma ögonblick som du anropar bindningen, dvs. i document.ready. I just de ögonblicket så har ditt objekt ett visst id, och det är bara den selektor som stämmer då kommer "användas".
Har du kollat länken jag skrev förut..?Sv:Jquery & Asp Query i attr.
Ja jag kollade länken, och ja min kod görs.. brukar lägga en alert längst ner för att se att de verkligen anropas.
Alla andra attri. ändras förrutom just de ID numret.
HassanSv:Jquery & Asp Query i attr.
så ja skriver ej ut de nånstansSv:Jquery & Asp Query i attr.
Ja har tex Onclick="test1"
i JS filen har ja function 1, samt function 2.
När man klickar på en knapp så hamnar man på funtion 1...
där ska funktionen göra sina grejer och ändra onclick till test2.
Sen ifall ja klickar på den så händer de ingenting, den fortsätter att köra funktion 1...
ja har ändrat src, alt, o massor, allt ändras utan IDSv: Jquery & Asp Query i attr.
Ta en titt på jquery funktionen live() den gör i princip samma sak som bind men uppdateras automatiskt om du ändrar ett ID så det matchar selectorn.