1 つのフォームに多くのボタンがあります。いくつかの特定のボタンに対して 1 つのスクリプトを作成しましたが、他のボタンが正しく機能しません。
他のボタンとの競合を避けて、指定されたボタンのみに対してボタン スクリプトを一意にすることはできますか? "input[type='button']" は、スクリプト内のいくつかにのみ適用したい場合に、フォーム内のすべてのボタンに適用されるようです。
いくつかの特定のボタンでのみ機能するように変更したいスクリプトを次に示します。
$(document).ready(function(){
$(function() {
var $buttons = $("input[type='button']");
$buttons.click(function() {
$(this).parent().siblings('.bx, #bxGender .gender').css({'background':'#2F2F2F','color':'#fff'});
$buttons.not(this).removeClass('button-toggle-on');
$(this).toggleClass('button-toggle-on').attr('style','');
var varval = '';
if ($(this).hasClass('button-toggle-on')) {
varval = $(this).hasClass('gnF') ? 'Female' : 'Male';
$(this).siblings('input[type="button"]').css('background-position','0 -180px');
}
else {
$(this).siblings('input[type="button"]').attr('style','');
$(this).parent().siblings('.bx').attr('style','');
}
$("#gender").val(varval);
});});
});
<input type="button" class="gnM" >
<input type="button" class="gnF">
<input class="req-string gender" id="gender" name="gender">