2016-05-12 17 views
1

Ich versuche, einen Eingabewert mit jQuery Maus über zu ändern.jQuery Eingabewert bei div mouseover ändern

Szenario: Ich habe 5 Div mit verschiedenen Farben und Benutzernamen. Wenn der Mauszeiger über ein Div bewegt wird, ändert sich der Eingabetext (und für die Farbeingabe die Hintergrundfarbe) entsprechend den Datenbankwerten, wenn der Änderungswert div ist, zeigt der Text neue Daten an.

mit PHP echo ich den Teil des Skripts der Mouseover-Funktion zu handhaben

<?php 
    $myId = '1'; 
    $uname = 'user1'; 
    $ucolor = 'FFFFFF'; 
    echo "<script> 
      $('$myId').mouseover(function() { 
       $('#uname').val('" . $uname . "'), 
       $('#ucolor').val('" . $ucolor ."'), 
       $('#ucolor').css('background-color', '" . $ucolor . "') 
      }) 
     </script>"; 

Diese Arbeit, wenn ich Mouseover() ändern zu schweben(), aber nur das erste Element angezeigt, wenn ich eine Maus tun Über dem zweiten Element ändern sich die Daten nicht.

+3

Sie vermissen ein # in Ihrer jquery für die ID – Naruto

+0

'$ ('. $ MyId.') .mo ...' – Mephiztopheles

+0

hinzufügen $ ('# ". $ MyID."') .mo ... scheint zu funktionieren, aber nur für das erste Element wieder – andreaem

Antwort

1

Try this:

Setzen Sie Ihr Skript nach Body-Tag:

<body> 
<div class="hh" id="1"></div> 
<input type="text" id="uname" /> 
<input type="text" id="ucolor" /> 

<div class="hh" id="2"></div> 
</body> 
<?php 
    $myId = '1'; 
    $uname = 'user1'; 
    $ucolor = 'FFFFFF'; 
    echo "<script> 
      $('#$myId').mouseover(function() { // add # here 
       $('#uname').val('" . $uname . "'), 
       $('#ucolor').val('" . $ucolor ."'), 
       $('#ucolor').css('background-color', '" . $ucolor . "') 
      }) 
     </script>"; 

$myId = '2'; 
$uname = 'user2'; 
$ucolor = 'FFF555'; 
echo "<script> 
     $('#$myId').mouseover(function() { console.log('fdgfdg') 
      $('#uname').val('" . $uname . "'), 
      $('#ucolor').val('" . $ucolor ."'), 
      $('#ucolor').css('background-color', '" . $ucolor . "') 
     }) 
    </script>"; 


?> 
+0

Das Skript ist bereits nach dem body-tag, sorry für nicht angegeben, dies ist ein cutted teil von code – andreaem

+0

hinzufügen # in mouseover ereignis –

+0

ich kann nicht verstehen, das Hinzufügen von # nach (function() {# verursacht uncaught SyntaxError: Unerwartete token ILLEGAL – andreaem

0

Im Allgemeinen der div oder eine DOM muss einen eindeutigen ID-Wert hat. Verwenden Sie den Klassenselektor (.) Anstelle des ID-Selektors (#).

+0

Klassenselektor nicht ändern das Ergebnis, ich habe nur das erste Element und nicht bei Mouseover ändern – andreaem

+0

Versuchen Sie, den Code innerhalb der $ (Dokument) .ready (function() {/ * Ihr Code * /}); –

Verwandte Themen