将变量传递到对话框中

时间:2013-11-05 11:10:25

标签: jquery variables dialog

我正在创建一个用于创建网页的消息传递系统。我想点击某人姓名旁边的按钮,并在对话框中显示他们的名字,以便知道我发送给他们。

这是DIV我试图让它出现。模态正常工作购买无论我点击哪个人,它都会将相同的名称带回“to”字段。

<div id='chatPop' style="display: none;">
      Messages
      <hr>
      To: <?Php echo $userId ?>
      <br><br><br>
      From:
      <br><br><br>
      Message:-<textarea> </textarea>
</div>

这是我正在打开对话框的JS:

function doPop(userId)
{
$("#chatPop")

.dialog({
      float: top,
      resizable: true,
      height: 350,
      modal: true,
      buttons: {
        Send: function() {
          $(this).dialog("close");
        }
      }
    });
      }

这是我的PHP,它在div内部并且正在工作,但没有传递$ userId我想要的方式:

              <?php
              while ($row = mysqli_fetch_array($result))
              {
                echo "<li>";
                echo "<a>";
                $userId = $row ['userId'];
                echo $userId;
                echo " <input type=button value=chat onclick=doPop('$userId')>";
                echo "</a>";
                echo "</li>";
              }
              mysqli_close($con1);
              ?>

4 个答案:

答案 0 :(得分:0)

你可以这样做:

<强> HTML

<div id='chatPop' style="display: none;">
      Messages
      <hr>
      To: <span id="userid"></span>
      <br><br><br>
      From:
      <br><br><br>
      Message:-<textarea> </textarea>
</div>

<强>的Javascript

function doPop(userId)
{
   $("#userid").html(userId);

   $("#chatPop").dialog({
      float: top,
      resizable: true,
      height: 350,
      modal: true,
      buttons: {
        Send: function() {
          $(this).dialog("close");
        }
      }
   });
}

答案 1 :(得分:0)

将对话框标记更改为此...

<div id='chatPop' style="display: none;">
      Messages
      <hr>
      To: <input type="text" name="to" id="send-to" />
      <br><br><br>
      From: <input type="text" name="from" id="sent-from" />
      <br><br><br>
      Message:-<textarea name="message" id="message"> </textarea>
</div>

并将对话框功能更改为此...

function doPop(userId) {
    $("#send-to").val(userId);
    $("#chatPop")
        .dialog({
            float: top,
            resizable: true,
            height: 350,
            modal: true,
            buttons: {
                Send: function() {
                    $(this).dialog("close");
                }
            }
        });
}

输入的名称属性是用于将其包装在您希望提交的表单中时(假设您将使用Send按钮回调)。这些ID是你可以使用javascript引用的东西。

答案 2 :(得分:0)

将对话框标记更改为此

<div id='chatPop' style="display: none;">
      Messages
      <hr>
      To: <input type="text" name="to" id="send-to" />
      <br><br><br>
      From: <input type="text" name="from" id="sent-from" />
      <br><br><br>
      Message:-<textarea name="message" id="message"> </textarea>
</div>

并将对话框功能更改为此...

function doPop(userId) {
    $("#send-to").val(userId);
    $("#chatPop")
        .dialog({
            float: top,
            resizable: true,
            height: 350,
            modal: true,
            buttons: {
                Send: function() {
                    $(this).dialog("close");
                }
            }
    });

}

答案 3 :(得分:0)

将对话框标记更改为此

<div id='chatPop' style="display: none;">
      Messages
      <hr>
      To: <input type="text" name="to" id="send-to" />
      <br><br><br>
      From: <input type="text" name="from" id="sent-from" />
      <br><br><br>
      Message:-<textarea name="message" id="message"> </textarea>
</div>

并将对话框功能更改为此...

function doPop(userId) {
    $("#send-to").val(userId);
    $("#chatPop")
        .dialog({
            float: top,
            resizable: true,
            height: 350,
            modal: true,
            buttons: {
                Send: function() {
                    $(this).dialog("close");
                }
            }
    });
}