切换背景位置TWICE

时间:2012-04-13 05:32:23

标签: javascript jquery input toggle background-position

我想通过点击相同的按钮TWICE来取消选择按钮。

一旦我点击女性或男性,脚本会更改背景位置并正确地将数据插入性别输入,但如果再次点击(两次),我想将相同的按钮返回到原始位置并删除性别输入字段中的结果

有人可以建议修改我的脚本吗?

这应该是一个单独的脚本吗?

由于

http://jsfiddle.net/B4XkL/5/

 $(function(){
    $("input[type='button']").click(function() {
      $("input[type='button']").removeClass("button-toggle-on");
        $(this).addClass("button-toggle-on");
    if($(this).hasClass("gnF")) varval = 'female';
  else varval = 'male';
    $("#gender").val(varval);
   });
  });

3 个答案:

答案 0 :(得分:0)

这样的事情:

$(function(){
    $("input[type='button']").click(function() {
        if ($(this).hasClass("button-toggle-on")) {
            $(this).removeClass("button-toggle-on");
            $("#gender").val('');
        } else {
            $("input[type='button']").removeClass("button-toggle-on");
            $(this).addClass("button-toggle-on");
            if($(this).hasClass("gnF")) varval = 'female';
            else varval = 'male';
            $("#gender").val(varval);
        }
    });
});

答案 1 :(得分:0)

看看这个demo

var $buttons = $("input[type='button']");
$buttons.click(function() {
    $buttons.not(this).removeClass('button-toggle-on');
    $(this).toggleClass('button-toggle-on');

    var varval = '';
    if ($(this).hasClass('button-toggle-on')) {
        varval = $(this).hasClass('gnF') ? 'female' : 'male';
    }
    $("#gender").val(varval);
});

答案 2 :(得分:0)

这就是诀窍:

$(function(){
    $("input[type='button']").click(function() {

    if($(this).hasClass("button-toggle-on")) {
        $(this).removeClass("button-toggle-on");
        $("#gender").val("");                
    }
    else {
        $(".button-toggle-on").removeClass("button-toggle-on");                    
        $(this).addClass("button-toggle-on");
        $("#gender").val(($(this).hasClass("gnF"))? "female" : "male");    
    }
  });
});