如何用另一个Javascript更改Javascript函数值

How to change Javascript function value with another Javascript?

本文关键字:Javascript 函数 更改 另一个 何用      更新时间:2023-09-26

我遇到了另一个javascript问题,
我的代码由两部分组成

第一个简单的下拉菜单:

<select>
    <option name="1">1</option>
    <option name="2">2</option>
    <option name="3">3</option>
</select>

Second一个简单的div:

<div onClick="doThis('1');">Execute 1</div>

当选择某个选项时,我的脚本当前会更改div的innerHTML,但现在我也需要它来更改onClick函数值。

这意味着,如果我选择选项3,javascript应该看起来onClick="doThis('3');.

我知道如何用javascript更改大多数属性,但不知道如何用另一个javascript函数更改javascript onClick属性。我在谷歌上搜索了一下,但没有找到任何链接。

那么,如何做到这一点呢?

感谢所有帮助,
已经谢谢你了。

不要使用内联javascript事件。您混合了函数代码(javascript)和表示代码(HTML),这是一种反模式。如果你正确地将这些问题分开,答案就会变得有些琐碎:

HTML:

<select id="someSelect">
    <option name="1">1</option>
    <option name="2">2</option>
    <option name="3">3</option>
</select>
<div id="someDiv">Execute</div>

JavaScript:

document.getElementById('someDiv').onclick = function () {
    var select = document.getElementById('someSelect');
    var number = select.value;
    doThis(number);
};

http://jsfiddle.net/jbabey/HzVd7/

在大多数JavaScript任务中,不应该更改onClick属性。相反,如果您知道场景中的'3'将在某个时刻发生更改,那么首先不应该将其硬编码到函数调用中;使其成为一个变量,或者使用一个函数获取:

<div id="someDiv" onclick="doThis(getValue());">

您可以使用jquery库http://docs.jquery.com/Downloading_jQuery.然后通过以下方式挂起事件提交:

$('div').click(function(){
  doThis($("select#someSelect").val());
})