2016-07-08 82 views
4

我試圖截取並處理引導複選框中的更改,並添加了「onchange」事件。不幸的是,我沒有成功。目前,我有一個按鈕,可以更改複選框的狀態,這是工作。自舉複選框中的Onchange事件

任何提示將不勝感激。

<!DOCTYPE html> 
    <html> 
    <head> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>Bootstrap Toggle</title> 
    <link href="./css/github.min.css" rel="stylesheet"> 
    <link href="./css/bootstrap.min.css" rel="stylesheet"> 
    <link href="./font-awesome-4.6.3/css/font-awesome.min.css" rel="stylesheet"> 
    <link href="./css/bootstrap-toggle.css" rel="stylesheet"> 
    <link href="./css/stylesheet.css" rel="stylesheet"> 
    <script src="./js/jquery-2.1.3.min.js"></script> 
    <script src="js/bootstrap-toggle.js"></script> 
    </head> 
    <body> 
    <div id="events" class="container"> 
    <h3>API vs Input</h3> 
    <p>This also means that using the API or Input to trigger events will work both ways.</p> 
    <div class="example">   
    <input id="chk1" type="checkbox" data-toggle="toggle" onchange="fonctionTest()">     
    <input id="chk2" type="checkbox" data-toggle="toggle"> 
    <input id="chk3" type="checkbox" data-toggle="toggle"> 
    <input id="chk4" type="checkbox" data-toggle="toggle">   
    <button class="btn btn-success" onclick="toggleOnOff('#chk1','on')">On by API</button> 
    <button class="btn btn-danger" onclick="toggleOnOff('#chk1','off')">Off by API</button> 
<div id="console-event"></div> 
<script> 
$(function() { 
$('input:checkbox').change(function() { 
$('#console-event').html('Toggle: ' + $(this).prop('checked')) 
}) 
}) 
</script> 
    <script>   
     function fonctionTest(){ 
     console.log("This is a test"); 
    }    
       function toggleOnOff(selector,state){ 
        console.log("element : " + selector); 
        console.log($(selector).prop('checked')); 
        $(selector).bootstrapToggle(state); 


       } 
       function toggleOn() { 
        $('#chk1').bootstrapToggle('on'); 
        isOnOrOff(); 
       } 
       function toggleOff() { 
        $('#chk1').bootstrapToggle('off'); 
        isOnOrOff(); 
       } 
       function isOnOrOff(){ 
        var c=document.getElementById('chk1'); 
        console.log(c.checked); 
       } 
      </script> 
     </div> 

</body> 
</html> 
+0

請分享你正在使用複選框插件的鏈接? –

+0

'js/bootstrap-toggle.js'的鏈接是http://www.bootstraptoggle.com/。這是你需要的嗎? – Laurent

+0

[示例](http://www.bootstraptoggle.com/#events)中提到的更改事件不適合您? –

回答

7

文檔說使用jQuery change

演示

$('#chk1').change(function() { 
 
    alert($(this).prop('checked')) 
 
})
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/css/bootstrap.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/js/bootstrap.min.js"></script> 
 
<link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet"> 
 
<script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script> 
 

 
<input id="chk1" type="checkbox" checked data-toggle="toggle">

0
<input id="chk1" type="checkbox" data-toggle="toggle" onclick="fonctionTest()"> 

function fonctionTest(){ 
    if (document.getElementById('chk1').checked) 
    { 
     alert("Checked") 
    } else 
    { 
     alert("Not Checked") 
    } 
}  
+1

謝謝,但它不適用於我。 – Laurent

+0

控制檯中的任何錯誤? –

+0

控制檯上絕對沒有錯誤 – Laurent

2

其工作爲如實施例中所示的以下所有複選框:

$('input:checkbox').change(function() { 
 
    $('#console-event').html('Toggle: ' + $(this).prop('checked')); 
 
    console.log("Change event: " + this.id); 
 
})
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/css/bootstrap.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/js/bootstrap.min.js"></script> 
 
<link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet"> 
 
<script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script> 
 
<input id="chk1" type="checkbox" data-toggle="toggle">     
 
<input id="chk2" type="checkbox" data-toggle="toggle"> 
 
<input id="chk3" type="checkbox" data-toggle="toggle"> 
 
<input id="chk4" type="checkbox" data-toggle="toggle"> 
 
<div id="console-event"></div>

編輯:

添加類似的代碼:

<script> 
    $(function() { 
    $('input:checkbox').change(function() { 
     $('#console-event').html('Toggle: ' + $(this).prop('checked')) 
    }) 
    }) 
</script> 
+0

對不起,我應該在哪裏插入 $('input:checkbox')。change(function :'+ $(this).prop('checked')) })

  • 11. jQuery的複選框的onchange
  • 12. 的Javascript複選框的onchange
  • 13. 選擇框onchange事件的AJAX代碼
  • 14. 觸發選擇框的onchange事件
  • 15. 陣營的自舉:對的onChange「選擇」
  • 16. 沒有onclick或onchange事件的複選框狀態
  • 17. 動態複選框插入,jQuery的onchange事件失去
  • 18. 複選框使用onchange
  • 19. 動態複選框onchange&javascript
  • 20. 當在reactjs複選框上使用onChange事件時,'this'爲null
  • 21. 當onClick或onChange時複選框未觸發事件
  • 22. onchange事件不火對鉻ASP複選框僅
  • 23. jQuery自動觸發複選框事件
  • 24. 自定義選擇框多次觸發onchange事件
  • 25. 如何「恢復」onchange事件
  • 26. 複選框的onkeyup事件
  • 27. 的onclick複選框事件
  • 28. html複選框onChange方法在PHP中
  • 29. CakePHP中選擇框的onchange事件的問題
  • 30. HTML中的選擇框Onchange事件的問題