1

我有一系列按钮(A、B、C、D),可以像单选按钮一样切换,一次只能选择一个。如果用户选择了一个按钮,用户也可以再次单击相同的按钮来关闭。

还有一个额外的按钮 (X),它与按钮 (A,B,C,D) 有关系。In which Button X can only be selected if an element within buttons (A,B,C,D) is selected.

  1. 用户可以像单选按钮一样切换按钮(A,B,C,D)=这有效

  2. 用户可以像单选按钮一样切换按钮(A、B、C、D),选择按钮 X,然后继续像单选按钮一样切换按钮(A、B、C、D),按钮 X 仍将保持突出显示。=这行得通

  3. 任何一个按钮(A、B、C、D)都可以与按钮 X 一起选择。=这有效

我的问题是,如果取消选择按钮(A、B、C、D),则按钮 X 无法保持选中状态。要重新创建,请看这里。 http://jsfiddle.net/froze1906/tHezS/

  1. 尝试单击按钮 X,您不能 b/c 它需要选择按钮之一(A、B、C、D)。

  2. 单击按钮 A 并被选中,现在单击按钮 X 并被选中,现在用户可以从组中选择另一个按钮或切换按钮 X 后退。

  3. 现在关闭您选择的任何按钮(A、B、C、D)并且仍然选择按钮 X。

我需要做些什么来检查按钮(A、B、C、D)是否被取消选择,当按钮(A、B、C、D)被关闭时,按钮 X 也会在 mouseup 上被取消选择。

4

1 回答 1

0

演示:http: //jsfiddle.net/tHezS/1/

我也简化了你的代码。

$(".button_toggle").on(mouseup, function(evt){
    // If this is already toggled. Remove this class, and the class of the 'X'
    if($(this).hasClass("button_toggle_selected")){
        $(this).removeClass("button_toggle_selected");
        $(".button_x_icon_toggle").removeClass("button_toggle_selected");
    }else{
        //Remove .button_toggle_selected from other .button_toggle's
        //Add .button_toggle_selected to this element.
        $('.button_toggle.button_toggle_selected').removeClass('button_toggle_selected');
        $(this).addClass('button_toggle_selected');                
    }
});
于 2012-07-18T01:43:44.283 回答