2017-07-03 22 views
-1

需要一些幫助。必須有一種我不知道的簡單方法。我說,我有一個動態按鈕,改變基礎上被點擊的項目值...更改來自不同元素的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,但只有一個函數。

非常感謝!

回答

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

此函數將更新錨點href的值,並單擊單選按鈕的值。

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>

這也是瞭解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>

我也建議這樣做的腳本元素中。

+0

謝謝傑里米,這是我非常想找的答案。 該值需要使用按鈕觸發。 感謝您花時間演示。所有的東西都給你。 ;) –