更改来自不同元素的onclick值

时间:2017-07-03 02:39:41

标签: javascript jquery html dom onclick

需要一些帮助。必须有一种我不知道的简单方法。说,我有一个动态按钮,可以根据点击的项目更改值...

<input type="radio" onclick="document.getElementById('buy').href=this.value;"  value="http://...1.html">Product1</input>
<input type="radio" onclick="document.getElementById('buy').href=this.value;"  value="http://...2.html">Product2</input>

<a id="buy" href="#" onclick="addtocart(...)">Buy</a>

我明白,点击单选按钮会改变href值。我的问题是,是否有可能在onclick上做同样的事情?我听说它不接受像href那样的字符串,只是一个函数。

非常感谢!

2 个答案:

答案 0 :(得分:1)

$(document).ready(function(){
        $('input:radio').on('click',function(e){
            $("#buy").attr("href", e.target.value);
        })
    });

此函数将使用单击的单选按钮的值更新锚点href的值。

答案 1 :(得分:0)

非常有可能。

Javascript支持更高阶的编程,这意味着您可以像其他任何值一样传递函数。

&#13;
&#13;
<input type="radio" onclick="document.getElementById('buy').onclick=function(){alert('Radio 1')};"  value="http://...1.html">Product1</input>
<input type="radio" onclick="document.getElementById('buy').onclick=function(){alert('Radio 2')};"  value="http://...2.html">Product2</input>

<a id="buy" href="#" onclick="addtocart(...)">Buy</a>
&#13;
&#13;
&#13;

这也是了解closure的好机会,有了它我们也可以为我们的函数定义参数。

&#13;
&#13;
<input type="radio" onclick="var param = 'Param 1';document.getElementById('buy').onclick=function(){alert(param)};"  value="http://...1.html">Product1</input>
<input type="radio" onclick="var param = 'Param 2';document.getElementById('buy').onclick=function(){alert(param)};"  value="http://...2.html">Product2</input>

<a id="buy" href="#" onclick="addtocart(...)">Buy</a>
&#13;
&#13;
&#13;

我还建议在脚本元素中执行此操作。