2012-04-12 11 views
0

onclick関数の2つのボタンを作成して、別の入力に「male」または「female」を挿入します。onclick機能を使用して入力フィールドにデータを挿入する

2つのボタンには背景画像があり、クリックすると背景の位置を変更する必要があります。私はお互いにトグルするために両方のボタンが必要です。

誰もがjavascriptまたはjqueryで解決策を提案できますか?

<input type="button" class="gnM" onclick="???????"> 
<input type="button" class="gnF" onclick="???????"> 

<input class="req-string gender" id="gender" name="gender"> 

答えて

0

あなたはonclickでこれを行う必要がある場合は、私がお勧めしたい:

<input type="button" class="gnM" onclick="$('#gender').val($(this).val())" value="male" /> 
<input type="button" class="gnM" onclick="$('#gender').val($(this).val())" value="female" /> 

JS Fiddle demoを。私は強くclick()メソッドを使用して、jQueryの邪魔にならない方法へonclickから移動することをお勧めしたい

​$('.gnM').click(
    function(){ 
     var that = $(this); 
     $('#gender').val(that.val()); 
     that.css('background-position','bottom right'); 
    });​​​​​​ 

JS Fiddle demo

$('.gnM').click(
    function(){ 
     var that = $(this); 
     $('#gender').val(that.val()); 
     that.siblings().removeClass('active'); 
     that.toggleClass('active'); 
    });​ 

JS Fiddle demo:トグル可能にするために

。より簡潔

または、:

$('.gnM').click(
    function(){ 
     var that = $(this); 
     $('#gender').val(that.val()); 
     that.toggleClass('active').siblings().removeClass('active'); 
    });​ 

JS Fiddle demo

参考文献:

+0

ありがとうございます。ありがとうございますが、2つのボタンの背景位置をどのように変更できますか? – Erik

+0

CSSを表示し、 'background-position'の位置をどのように変更するかを説明してください。あなたが試したことの[JS Fiddle demo](http://jsfiddle.net/)を見せてください。 –

+0

オスのボタンをクリックすると、メスのボタンは元の状態に戻り、その逆もあります。それを理解できません。 – Erik

0

http://jsfiddle.net/vFsXt/ソリューションは、JS

+0

ありがとうございます。しかし、ボタンの背景位置を変更してお互いに切り替えるにはどうしたらいいですか?本当に助けに感謝します。 – Erik

+0

なぜインラインjs属性を避けることをお勧めしますか? –

+0

@Brian Googleはあなたにそれに関するリンクを提供します。ここでは1つですhttp://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-物事/ – GillesC

0

のインライン属性を使用しないようにボタンの切り替えのbackground-positionを適用するCSSクラス(button-toggle-on)を作成します。次にボタンのonclickボタンを押してクラスを切り替えます。これが機能するためには、最初はトグルする必要があります。

<input type="button" class="gnM button-toggle-on" onclick="$('#gender').val('male'); $('.gnF, .gnM').toggleClass('button-toggle-on');" /> 
<input type="button" class="gnF" onclick="$('#gender').val('female'); $('.gnF, .gnM').toggleClass('button-toggle-on');" /> 
+0

男性ボタンを押すと、女性は元の状態に戻りますか?これはトグルです。 – Erik

+0

これは今なります。私は彼らが前に他人を変える必要があることを知らなかった。 –

関連する問題