2012-02-17 7 views
0

私のページのチェックボックスに奇妙な問題があります。基本的に私はjQuery(下)のビットが割り当てられているので、クリックしたときに上記の情報と同じ情報(請求情報などと同じ)でいっぱいになります。しかし、このjQueryが割り当てられると、チェックボックスに記入してください。チェックボックスにjQueryが割り当てられている場合、ダニが機能しなくなる

私は手動でチェックを入れるためにさまざまな方法を試しましたが、役に立たないのですが、誰もこの問題を解明できましたか?

$('#sameasbilling').toggle(function() { 

    //assign value of billing firstname text input to variable 'firstname' 
    var firstname = $('input[name=billingfirstnames]').val(); 

    //insert value of 'firstname' into delivery text input 
    $('input[name=deliveryfirstnames]').val(firstname); 

    $('#sameasbilling').attr("checked", checked); 

},function() { 
    $('input[name=deliveryfirstnames]').val(""); 
}); 

私はティッカーを手動で仕事を得ることを試みた(プラスこれらの2つのラインの多くの亜種)しているjQueryのは、それらのどちらも働いている、以下の通りです。

$('#sameasbilling').attr("checked", checked); 

$('#sameasbilling').prop("checked", true); 

ありがとうございます。ダン。

+1

問題はJQueryの 'toggle()'イベントにあります。トグルを 'click()'イベントに変更し、これが役立つかどうか確認してください。 –

+0

ありがとうございます。問題は.toggle関数であったことが判明しました。 –

答えて

1

この場合、toggle()メソッドの使用が正しくない場合は、代わりにclick()を使用してください。これを試してみてください:

$('#sameasbilling').click(function() { 
    if ($(this).is(":checked")) { 
     //assign value of billing firstname text input to variable 'firstname' 
     var firstname = $('input[name=billingfirstnames]').val(); 

     //insert value of 'firstname' into delivery text input 
     $('input[name=deliveryfirstnames]').val(firstname); 
    } 
    else { 
     $('input[name=deliveryfirstnames]').val(""); 
    } 
} 
+0

返事をありがとう、完璧に働いた。だから、私の.toggle関数が不正であったか、.toggle関数がおそらく動作するような何か問題を引き起こした.toggleでしたか? –

+0

'toggle()'構文自体は正しいものですが、 'click()'ハンドラの中に置くことは、コードが実際に2回実行されていることを意味します。 –

関連する問題