0

コーディングに while ループがあります

while (($i < $num3b)&&($i < ($start+$perpage))) {
 $tododetail_id=mysql_result($result3b,$i,"tododetail_id");
 $comment=formatUrlsInText(mysql_result($result3b,$i,"comment"));
 $staff_name=mysql_result($result3b,$i,"staff_name");

 echo "<tr><td><span><font color='#5858FA'>" . $staff_name . nl2br($comment) . "</font>
 <span style='float:right' id='create-user'>Reply Message</span>";
$i++;}

「返信メッセージ」をクリックすると、jqueryがポップアップし、それに応じてどのように表示$staff_nameされますか$comment。これは私のjqueryコードです

    $( '[id^="create-user"]')
  .click(function() {
  var nameStf = $(this).data('id');
  alert (nameStf);
    $( "#dialog-form" ).dialog( "open" );
  });

ありがとう

4

4 に答える 4

2

あなたは使用することができますdata-attributes

HTML

<span style='float:right' class="reply" data-staffname="staffname" data-comment="staff comment">Reply Message</span>

jQuery

$(document).ready(function() {
    $('span.reply').click(function() {
        var staffname = $(this).data('staffname');
        var comment = $(this).data('comment');
        alert(staffname + ': ' + comment);
    });
});
于 2013-10-01T07:55:36.910 に答える
0

あなたの HTML はめちゃくちゃで、あなたの jQuery はそれに対応していません。次の行があります。

$( "#dialog-form" ).dialog( "open" );

しかし、ID の要素を含む HTML は表示されていませんdialog-form

タグを使用せずfont、すべての ID が一意であり、タグが適切にネストされて閉じられるように、HTML を再構築する必要があります。よくわからない場合は、バリデーターを介して出力 HTML を実行してください。

次に、次のようなことができます。

$('span').click(function(){
  alert($(this).closest('.comment'));
});

明らかに、コメント データを class を持つ要素に配置する必要がありますcomment

また、jQuery を使用して ID で要素を選択する場合:

// Incorrect
$('[id^="create-user"]')

// Correct
var $createUser = $('#create-user');

// Also correct (normal JavaScript)
var createUser = document.getElementById('create-user');
于 2013-10-01T08:02:05.877 に答える
0

タグをエコーすると、どこでもタグを閉じていることがわかりません。jQuery が正しく機能するには、HTML が正しい必要があります。また、ID は一意である必要があるため、class を使用します。

HTML

<tr>
    <td>
        <span style="color: #5858FA;">SOMETHING 2</span>
        <span class="create-user">Reply Message</span>
    </td>
</tr>

JS

$('.create-user').click(function(){
    var $text = $(this).prev().text();
    alert($text);
});

デモ

于 2013-10-01T08:06:22.067 に答える