更新在" Onlick"中调用的函数的变量使用javascript变量

时间:2016-07-28 13:34:09

标签: javascript jquery html onclick

我身体中有以下html:

<a  onclick="popupCenter(address,'Title','500','500');" href="javascript:void(0);" id="myID">

调用以下函数:

    <script>
function popupCenter(url, title, w, h) {
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
return window.open(url, title, 'toolbar=no, location=no,directories=no, status=no, menubar=no, scrollbars=no, resizable=no,     copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
} 
</script>

我需要更换地址&#39;带有javascript变量的onclick选项下被调用函数的变量(比如下面的变量x):

<script type="text/javascript">
var x = "NewURL"
</script>

现在的问题是: 有许多实例正在调用popupCenter。而且,变量x是通过下拉列表的值来决定的。 popupCenter调用的每个实例都使用唯一地址进行更新(使用从下拉列表中获取的值推断)。所以,我真的不能让网址静止。

有3个变量,比如x,每个变量都是使用从下拉列表中获取的值创建的URL。现在,每个创建的URL都应该传递给在三个不同实例中调用的popupcenter的地址/ url。

在对下拉列表进行任何更改之前,每个popupCenter函数调用中都会有一个固定的地址值(此处称为地址)。这是地址变量,需要使用动态创建的变量进行更改。

如果有人可以提供帮助,那就太棒了。我不擅长网络开发。

1 个答案:

答案 0 :(得分:2)

不使用url,而是使用x,因为它是全局的,您可以在函数中引用它。

window.open(x, title, .... )

其他选项是只更改onclick以使用变量x

onclick="popupCenter(x,'Title','500','500');"

没有window.open的快速演示,只是一个控制台行,显示更新后引用变量将在函数内部更新。

&#13;
&#13;
var base = "TEST";
var x = "1";

function test1 (y) {
    console.log(base + " : " + y);
}

function test2 () {
    console.log(base + " : " + x);
}


function updateX () {
    x = new Date().toLocaleString();  //just generate something to test  
}
&#13;
<a href="#" onclick="test1(x)">Test test1(x)</a>
<a href="#" onclick="test2()">Test test2()</a>

<button onclick="updateX()">Update X</button>
&#13;
&#13;
&#13;