webForumDet fria alternativet

Ta fram titlen på vald bild

26 svar · 2 285 visningar · startad av bikic

bikicMedlem sedan juni 2006261 inlägg
#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!

tronezMedlem sedan juli 2001728 inlägg
#2

Prova ändra raden

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

till

this.value += $(this).attr("title");
voigtann1Medlem 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?

bikicMedlem 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å?

voigtann1Medlem 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

bikicMedlem 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

voigtann1Medlem 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;

});
bikicMedlem 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å.

bikicMedlem sedan juni 2006261 inlägg
#9

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

Tackar!

bikicMedlem sedan juni 2006261 inlägg
#10

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

voigtann1Medlem 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?

bikicMedlem sedan juni 2006261 inlägg
#12

filnamnet ligger i titelattributen.

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

voigtann1Medlem sedan juni 20019 519 inlägg
#13

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

bikicMedlem sedan juni 2006261 inlägg
#14

bilden är en img element

voigtann1Medlem sedan juni 20019 519 inlägg
#15

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

bikicMedlem sedan juni 2006261 inlägg
#16

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

voigtann1Medlem sedan juni 20019 519 inlägg
#17

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

bikicMedlem sedan juni 2006261 inlägg
#18

precis, i textarean med klassen .editor.

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

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

Som man gör med de flesta html element.

bikicMedlem 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?

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