【问题标题】:How to choose between 2 functions in an onchange event?如何在 onchange 事件中选择 2 个函数?
【发布时间】:2013-12-27 04:35:41
【问题描述】:

这里发生的是,当我的网页加载时,它会触发一个名为:updatebrand() 的函数。在这个函数中有一个名为updatestyle() 的函数,它在onchange 事件中被触发。

这很好,它可以工作,但是现在一旦网页加载并且我更改了品牌,就会触发另一个名为 updatenewbrand() 的函数,它被调用,并且在这个函数中是一个名为 updatenewstyle() 的函数,它得到调用 onchange 事件。

我想说如果updatebrand() 被触发然后运行updatestyle() onchange,否则如果updatenewbrand() 然后运行updatenewstyle() onchange()。我在下面有一些代码,但我认为我做得不对?请帮忙。

<SELECT NAME="styles" id="styles"">
<option disabled="disabled" selected="selected"><FONT CLASS="sm"><B>- Select Style -    
</B></FONT></option>

<SCRIPT>

var x = document.getElementById("styles");
x.onchange = function() {
if (x.value == "updatebrand") { //or whatever condition you want to run
    updatestyle();
} else if (x.value == "updatenewbrand") {
    updatenewstyle();
}
}
<?

--some other code is here

oci_close($connect);
?>

</SCRIPT>

【问题讨论】:

  • 您不能在选项中使用已弃用的 FONT 标签或任何标签。
  • options 只能包含文本,您在其中放置了 html。
  • 好的,谢谢,我会把它拿出来,但这不是导致它不起作用的原因。有人可以看看其他代码,让我知道如何修复它。
  • 如果您在我认为的位置使用它,请将变量 x 更改为更具体的内容(因为这基本上是我在您的其他问题上给您的答案的复制粘贴)。同名变量可能会导致问题
  • 谢谢 RUJordan,我试过了,但它不起作用,我没有收到任何错误,但它也没有做任何事情?它必须是我假设的语法中的东西。我删除了“X”并使用“getFunc”作为变量名。

标签: javascript html function syntax onchange


【解决方案1】:

只需测试this.value 而不是x.value,因为x.value 仅在脚本加载时设置并且不会更改。

使用this 将在任何时候触发onchange 事件时获取当前值。

var x = document.getElementById('first');

x.onchange = function() {

    switch(this.value) {
        case "updatebrand" :
            alert('Thing one.');
        break;

        case "updatenewbrand" :
            alert('Thing two.');
        break;
    }

}

小提琴:http://jsfiddle.net/Wm38h/2

【讨论】:

  • 我一定是做错了什么,这就是我现在所拥有的,没有任何反应:
猜你喜欢
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 2018-04-25
  • 2015-08-17
  • 1970-01-01
  • 2013-12-24
  • 1970-01-01
  • 2017-07-06
相关资源
最近更新 更多