【问题标题】:Accessing the global variable of a window from its tabs in jquery从 jquery 中的选项卡访问窗口的全局变量
【发布时间】:2011-08-08 14:29:59
【问题描述】:

我有一个由 jquery 选项卡组成的 html 页面。每个选项卡从另一个 html 页面加载数据。我在容器 html 页面中设置了一个全局变量,我想在其选项卡中访问它。我怎么做?我尝试了 window.var 、 window.parent.var 、 this.var 等。但没有任何效果。我附上了代码。请帮助。

容器 html 页面。

<html>
<head>
<link type="text/css" href="../../css/ui-lightness/jquery-ui-1.8.14.custom.css" rel="Stylesheet" /> 
<link type="text/css" href="./methodeditor.css" rel="stylesheet" />
<script type="text/javascript" src="../../js/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="../../js/jquery-ui-1.8.14.custom.min.js"></script>

<script>
    $(function() {
        $( ".tabs" ).tabs({cache:true});
    });  
</script>
<script>

var method = " ";
function setmethod(m) {
    method = m;
}
function loadtabs(){


          method = window.parent.method;
          setmethod(method);
          $("#oven").load('oven.html');
          $("#detectors").load('detectors.html');
          $("#inlets").load('inlets.html');

    }
</script>
</head>
<body>
<form id="editor" action="method.php" method="POST" >
<div class="editor">

<div class="tabs">

    <ul>
        <li><a href="#oven">Temperature</a></li>
        <li><a href="#detectors">Timing</a></li>
        <li><a href="#inlets">Vial and Loop</a></li>
    </ul>
    <div id="oven" ></div>
    <div id="detectors" ></div>
    <div id="inlets"> </div>

</div>
<script>
loadtabs();
</script>
</form>
</div>
</body>
</html>

oven.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script>
function getvalues() {
          file = window.method;
          //file = m;
          file = "./method/"+file;
          var xmlhttp = new XMLHttpRequest();
          xmlhttp.open("GET", file, false);
          xmlhttp.setRequestHeader('Content-Type', 'text/xml');
          xmlhttp.send("");
          xmldoc = xmlhttp.responseXML;
          etimenode = xmldoc.getElementsByTagName("method")[0].childNodes[1].childNodes[1];
          etime = etimenode.textContent;
          document.getElementById("etime").value =  etime;    
}
</script>
</head>

<body>
<input type="checkbox" name="oventemp" value="ON" />Oven Temperature
Equilibrium time <input type="text" id="etime"  />
<script>
getvalues();
</script>
</body>
</html>

【问题讨论】:

  • 你试过直接访问它吗?它是一个全局变量,所以应该可以免费使用。
  • 我尝试直接访问它,但我无法获取值

标签: jquery global-variables jquery-ui-tabs


【解决方案1】:

您可以在加载页面的字符串中包含您需要的变量,例如:

setmethod(method);
$("#oven").load('oven.html?var1=' + myvar1 + '&var2=' + myvar2 );

然后,在烤箱.html 中,您可以使用 similar to these 方法将这些作为全局变量获取,这些变量将在该加载页面的范围内工作:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-25
    • 2016-10-11
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 2015-12-15
    相关资源
    最近更新 更多