Variable an jquery

illetuffi

Mitglied
Hallo Forum,
ich möchte auf eine Variable zugreifen ich weiß aber nicht wie ich das mit jquery machen kann.

Folgendes ich habe zwei textarea Felder und eine Liste mit Datensätzen ich möchte die Datensätze in das focusierte textarea Feld bei klick schreiben.

Die Formular Felder haben folgendes event
Code:
onFocus="$f=this.id;"
damit hat die Variable $f die ID des focusierten Feld.

Jetzt möchte ich gerne auf die Variable $f mit jquery zugreifen wie mache ich das?

$("#txtMessage") müsste $f sein.

****
Code:
 $('#ClickWordList li').click(function() { 
		$("#txtMessage").insertAtCaret($(this).text());
		return false
	});
 
Wenn du schon jQuery verwendest, wozu dann das "onFocus" im Markup?

Hier mal ein minimales Beispiel, dann sollte es dir klar werden.

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html id="html" xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
	
	<title>Page title</title>
</head>

<body>
	<div>
		<textarea rows="10" cols="50"></textarea>
		<textarea rows="10" cols="50"></textarea>
		<ul>
			<li>Eins</li>
			<li>Zwei</li>
			<li>Drei</li>
			<li>Vier</li>
		</ul>
	</div>
	
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>	
	<script type="text/javascript">
	/* <![CDATA[ */
		$(document).ready(function(){
			var lastFocused = null;
			
			$("textarea").focus(function() {
				lastFocused = this;
			});
			
			$("li").click(function() {
				if(lastFocused) {
					$(lastFocused).val($(this).html());
				}
			});
		});
	/* ]]> */
	</script>
</body>

</html>


Edit: Und falls du es so belassen willst:
"$f" definierst du im onFocus-Event als globale Variable. Also kannst du von überall im Code darauf zugreifen. Du solltest sie aber vorher schon deklarieren, denn sonst ist sie unbekannt, wenn du noch kein Textfeld angeklickt hast.
 
Zuletzt bearbeitet:
Hallo,

ist zwar JavaScript und nicht Java, aber vielleicht kann ich dir ja trotzdem weiterhelfen. Hast du schonmal probiert, die Variable außerhalb zu deklarieren?

Hier mal ein kleines Beispiel:

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
var f = "";
$(document).ready(function() {
  $('#ClickWordList li').click(function() {
    $('#' + f).val($('#' + f).val()+$(this).text()); 
  });
});
</script>
</head>

<body>
  <textarea id="textarea1" onfocus="f=this.id;"></textarea>
  <textarea id="textarea2" onfocus="f=this.id;"></textarea>
  <ul id="ClickWordList">
    <li>foo</li>
    <li>bar</li>
  </ul>
</body>
</html>

Gruß

Ben
 
Zuletzt bearbeitet von einem Moderator:
Zurück