webForumDet fria alternativet

Ta fram titlen på vald bild

JavaScriptur Javascript

26 svar · 2 285 visningar · startad av bikic

Medlem sedan juni 2006261 inlägg
Frågan#1

Hej!

Jag skulle behöva ha hjälp med en sak. Jag listar alla bilder rakt upp och ner. Varje bild har en egen titel, filnamn och id. Alla bilder har också classnamnet "selectImage" för att trigga igång en jqueryfunktion.


$(".selectImage").click(function() {
	
	jQuery.fn.extend({
		insertAtCaret: function(myValue){
			return this.each(function(i) {
				this.value += $(".selectImage").attr("title");
				this.focus();
			})
		}
	});
	
	$(".editor").insertAtCaret('test');
	$.fn.colorbox.close();

	return false;

});

Problemet med ovanstående kod är att den hela tiden hämtar samma titel och det är från den första bilden. Hur kan jag göra så att den hämtar titeln på den bild jag klickat på?

Tacksam för svar!

Medlem sedan juli 2001728 inlägg
#2

Prova ändra raden

this.value += $(".selectImage").attr("title");

till

this.value += $(this).attr("title");
Medlem sedan juni 20019 519 inlägg
#3

Inte för att vara sån, men varför extend:ar du jquery på ett click event?

Medlem sedan juni 2006261 inlägg
#4

tronez: den ger inget värde alls.

voigt: det är först efter klicket som jag vill köra funktionen.

Hur kan vi hitta en lösning då?

Medlem sedan juni 20019 519 inlägg
#5

att extenda jquery på det sättet känns rätt så fel, sen vet jag inte var du har fått koden ifrån, men du använder på fel sätt känns det som.

$(".selectImage").click(function() {
	var value = "";

	$(".selectImage[title]").each(function() {
		value+=$(this).attr("title");
	});

	$(".editor").val(value).focus();

	return false;
});

Utan att ha en susning om vad du har för element på .editor

Medlem sedan juni 2006261 inlägg
#6

Voigt: ditt exempel gav mig alla titlar, jag vill bara ha den man klickar på. Samtliga bilder har också ett unikt id om man nu kan använda detta för att ta reda på vilken titel man vill åt.

tack för hjälpen! uppskattas verkligen

Medlem sedan juni 20019 519 inlägg
#7

Du förklarar rätt dåligt måste jag säga ;)

Vad vill du göra? Skall den bygga ut strängen som finns på .editor hela tiden eller skall den ersätta hela värdet?

$(".selectImage").click(function() {
	var value = $(".editor").val() + $(this).attr("title");

	$(".editor").val(value).focus();

	$.fn.colorbox.close();

	return false;
});

Eller om du skall kunna toggle på vilka bilder som skall vara valda:

$(".selectImage").click(function() {
	var
		editor = $(".editor"),
		$(this).classToggle("addImage"),
		value = "";

	$(".selectImage[title].addImage").each(function() {
		value+=$(this).attr("title");
	});

	editor.val(value).focus();

	$.fn.colorbox.close();

	return false;

});
Medlem sedan juni 2006261 inlägg
#8

Okej, jag ska försöka förklara bättre.

Jag har en lista som visas efter det att man klickat upp en dialogruta. I denna listan finns alla uppladdade bilder på servern. När man klickar på en av bilderna så ska den infoga bildens filnamn i textarean (dvs. klassnamnet "editorn"). Efter den har infogat filnamnet i textarean så stänger den dialogrutan ($.fn.colorbox.close();)

Allt fungerar bra bara det att den hämtar första bildens titel från listan och inte den jag faktiskt klickar på.

Medlem sedan juni 2006261 inlägg
#9

Det funkade med ditt första alternativ i inlägg 7.

Tackar!

Medlem sedan juni 2006261 inlägg
#10

Jag vill dock att den placerar bildens filnamn där musmarkören är, det fungerar inte nu.

Medlem sedan juni 20019 519 inlägg
#11

bikic skrev:

Jag vill dock att den placerar bildens filnamn där musmarkören är, det fungerar inte nu.

Var kommer filnamnet ifrån då? Finns inget sådan kod i ditt exempel.

Är det i title? Vad är det för element du kör med?

Medlem sedan juni 2006261 inlägg
#12

filnamnet ligger i titelattributen.

<a href="#" titel="filnamn.jpg">bild</a>

Medlem sedan juni 20019 519 inlägg
#13

bild är det en img element? Eller text? title bör fungera.

Medlem sedan juni 2006261 inlägg
#14

bilden är en img element

Medlem sedan juni 20019 519 inlägg
#15

sätt alt text som är samma som din title

Medlem sedan juni 2006261 inlägg
#16

Hur får jag den infogna texten att hamna där musmarkören befinner sig i textarean då?

Medlem sedan juni 20019 519 inlägg
#17

Vilken textarea? .editor? Sätt en title på den.

Medlem sedan juni 2006261 inlägg
#18

precis, i textarean med klassen .editor.

Vad menar du med sätt title på den?

Medlem sedan juni 20019 519 inlägg
#19
<textarea title="fubar"></textarea>

Som man gör med de flesta html element.

Medlem sedan juni 2006261 inlägg
#20

Varför ska jag ha en titletag på min textarea? Har aldrig haft detta och har klarat mig bra. Men vad har det med att jag vill få den infogade texten där min musmarkör är?

138 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)