需要一些帮助。必须有一种我不知道的简单方法。说,我有一个动态按钮,可以根据点击的项目更改值...
<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那样的字符串,只是一个函数。
非常感谢!
答案 0 :(得分:1)
$(document).ready(function(){
$('input:radio').on('click',function(e){
$("#buy").attr("href", e.target.value);
})
});
此函数将使用单击的单选按钮的值更新锚点href的值。
答案 1 :(得分:0)
非常有可能。
Javascript支持更高阶的编程,这意味着您可以像其他任何值一样传递函数。
<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;
这也是了解closure的好机会,有了它我们也可以为我们的函数定义参数。
<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;
我还建议在脚本元素中执行此操作。