当选择两个引导按钮时触发函数(Javascript)

Trigger function when two bootstrap buttons are selected (Javascript)

本文关键字:函数 Javascript 按钮 选择 两个      更新时间:2023-09-26

请原谅初学者的问题,非常感谢您的帮助。

我正在使用以下模板:http://www.prepbootstrap.com/bootstrap-template/multi-select-buttons

我想做的是重定向到一个不同的页面,如果两个特定的按钮被点击。我的解决方案是:

1)添加类"active"的div关联的按钮,当它被点击。据我所知,这可能是不必要的,因为激活类是自动添加的,因为包含data-toggle="button"确实是这样吗?还是我需要添加activate类?:

<button onclick="activate()">

,然后在JS文件中,

 function activate() {
    ( this ).toggleClass( "active" );
    };

2)触发一个函数(重定向),如果两个特定的按钮有类活动(即,当他们被点击/选择)。

这样做:首先,我将用带有不同Id的div将每个按钮括起来以区分它们:例如,我将用<button id="car"></div>

将汽车按钮括起来其次,如果满足要求,我会添加以下函数来重定向:
function redirect() {
if document.getElementById("car").hasClass('active') && (document.getElementById("truck").hasClass('active')=== true) 
{
location.href = "http://www.google.com";
}
};
谁能告诉我我的方向对吗?

抱歉,如果我的新手解决方案过于冗长,再次感谢,Andre

试试这个给每个盒子一个id然后分配一个计数变量当按钮被点击时检查活动类是否已经启用如果已经启用,则输入count——;如果没有,将className更改为active并将计数增加1个ie。数+ +;同时检查计数值是否为2,如果为2则实现重定向功能。例如,

var count=0; 
function activate() { 
    if(this.className=="active"){  
       ( this ).toggleClass( "active" );  
       count--; 
    }else{  
        ( this ).toggleClass( "active" ); 
        count++;  
    }  
    if(count>1){
        //implement redirect function  
    } 
};  

似乎我在寻找一些太复杂的东西。由于点击我的复选框按钮已经触发了类'active',我所要做的就是纠正我的重定向函数,如下所示:

<script type="text/javascript">
    function redirect() {
if ((document.getElementById('car').classList.contains('active')) && (document.getElementById('truck').classList.contains('active')) == true) {
     window.location = "https://www.websitetoredirecto.com";
};
    };
</script>

谢谢你的帮助,Andre