2017-07-03 10 views
-1

ここにいくつかの助けが必要です。私が気づいていない簡単な方法が必要です。言ってやるが、私は、hrefの値を変更します]ラジオボタンをクリックすると、私は理解してクリックされた項目に基づいて値を変更するダイナミックボタン...異なる要素から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> 

を持っています。私の質問は、それは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

ありがとう、ジェレミー、それは私が探していた答えです。 ボタンを使用して値をトリガする必要があります。 デモを行うのに感謝します。すべてあなたにアップです。 ;) –

関連する問題