2016-05-12 16 views
1

jQueryマウスを使用して入力値を変更しようとしています。jQueryマウスオーバーオーバー時の入力値の変更

シナリオ:色とユーザー名が異なる5つのdivがあります。マウスオーバーでdivを入力すると、データベースの値に応じて入力テキストが変更され(色入力の場合は背景色)、テキストが変更されるとテキストに新しいデータが表示されます。ホバー()が、私はマウスをすれば、最初の要素だけを表示するように)私はマウスオーバーを(変更した場合

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

にこの作品をマウスオーバー機能を処理するためにスクリプトの一部をエコーPHPを使用して

第2の要素データ上のデータは変化しない。

+3

あなたのjqueryにID – Naruto

+0

の#がありません。$( '。$ myId。').mo ... ' – Mephiztopheles

+0

$( '#"。$ myID。 "').mo ...を追加しています最初の要素に対してのみ有効です。 – andreaem

答えて

1

はこれを試してみてください:

は、bodyタグの後にスクリプトを置く:

<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

スクリプトには '.'を使用します。すでにボディータグの後に指定されていません。これはコードの一部です。 – andreaem

+0

mouseoverイベントでの追加# –

+0

#after(function(){#が原因でUncaught SyntaxError:予期しないトークンILLEGAL – andreaem

0

一般的にはdiv要素または任意のDOMは、一意のID値を持っている必要があります。 IDセレクタ(#)の代わりにクラスセレクタ(。)を使用してみてください。

+0

クラスセレクタを使用しても結果が変わらない、最初の要素しかなく、マウスオーバー時に変更しない – andreaem

+0

$(document).ready(function(){/ * your code * /} ); –

関連する問題