如何从脚本中获取数据并以php形式显示(对话框)?

时间:2013-12-24 13:41:01

标签: javascript php jquery jquery-ui

我有一个要求

<div class="button" id="room_open" value="<?php echo $Records['room_id'];?>" onclick="tappedOnRoom(<?php echo $Records['room_id'].","."'".$Records['room_status']."'".","."'".$Records['block_num']."'";?>)"><?php echo $Records['block_num']."-".$Records['room_id'];?></div>

我的剧本是:

function tappedOnRoom(id,status,block){                     
if(status == 'Open')            
   {                
      $(function() {
         $( "#dialog" ).dialog({ title: "Book a Room",width: 835, height:300});
       });
    }
}

因此,当点击我的div时,脚本会检查status,如果status是“打开”,则会在对话框中打开一个表单。所以,我的要求是我需要动态地在表单中显示block_numroom_id

我的表单包含:

<output type="text" id="blockNum" name="blockNum" class="span6" value=""/>
<output type="text" id="roomNum" name="roomNum" class="span6" value=""/>

现在,我想在上述输出类型中显示blockstatus

1 个答案:

答案 0 :(得分:0)

看起来你正在将它传递给一个函数。所以使用JQuery会相当容易。

tappedOnRoom函数中:

$(function() {
    $( "#dialog" ).dialog({ title: "Book a Room",width: 835, height:300});
    $("#blockNum").val(block);
    $("#roomNum").val(status);
}

您可能还想查看this example以获得不同的写作方式。

修改

我建议你不要使用输出标签。说实话,它不是我使用的标签和我见过的例子,看起来它们真的是为简单计算而设计的。此外,Internet Explorer不支持它们。虽然大多数人不再使用IE浏览器了,但是当提到浏览器时,开发人员往往会有各种各样的愤怒绰号,事实上你仍然使你的应用程序无法用于大量人群。

所以,我会建议你使用适用于所有浏览器的<span><div>标签,以及Jquery可以很容易地插入的标签,只需用以下内容替换输出标签:

<div id="blockNum" name="blockNum" class="span6"> </div>
<div id="roomNum" name="roomNum" class="span6"> </div>

然后你可以将JQuery改编成这样的东西:

$(function() {
    $( "#dialog" ).dialog({ title: "Book a Room",width: 835, height:300});
    $("#blockNum").text(block);
    $("#roomNum").text(status);
}

关于你隐藏div,这主要是一个CSS问题,虽然你可以使用JQuery来实际编程CSS。我不清楚你实际上没有隐藏对话部分。我做了一个快速搜索,发现this看起来像你想要的那样 - 只需用JQuery #opener代替#room_open。它利用show的{​​{1}}功能。

P.S。在这个例子中,他们使用特殊效果。我相信你可以使用“出现”和“隐藏”,如果你愿意,你当然可以缩短持续时间,以避免任何动画。