2016-10-04 6 views
1

新しいBootstrapToogleチェックボックスhttp://www.bootstraptoggle.com/にいくつかのイベントを添付しようとしていますが、どこに障害が発生しているのかわかりません。クリックイベントのBootstrapToggleチェックボックスコール機能

だから、基本的に私は、ブートストラップtoogleを持っていると私はcheckedプロパティ(trueまたはfalse)に応じて、いくつかの関数を呼び出したい

<input type="checkbox" id="editor_draw_erase" data-toggle="toggle" data-on="Draw" data-off="Erase" data-onstyle="success" data-offstyle="danger"> 

$(function(){ 
    $("#editor_draw_erase").click(function() { 
    var Toggle = document.getElementById('editor_draw_erase'); 
     if (Toggle.checked) { 
     console.log("draw") 
      //call some function 
     } else { 
     console.log("erase") 
      //call some other functions 
     } 
    }); 

}) 

フィドル:https://jsfiddle.net/c7p9n62w/12/

私が間違っているの何任意のアイデア?

答えて

1

私は同じ問題に直面しています。ライブラリは自分の要素を作成し、チェックボックスは実際に変更されていないからです。

あなたのチェックボックスがクラスoffであるかどうかだけを見ることができます。

これは、チェックボックスをオンにしたときにDOMを調べることで確認できます。

$(".toggle").click(function() { 
    if($(this).hasClass("off")){ 
    console.log("draw") 
    } 
    else{ 
    console.log("erase") 
    } 
}); 

Example

+0

ありがとうそれにアクセスするための一つの外側要素を追加します。任意のアイデアjQueryを介してチェックボックスを有効にする方法/ JS私は "無効に"デフォルトを設定する場合?私は$( '。toggle')を試しました。prop( 'disabled'、false)が動作しませんでした。 – Roxanne

+0

@Roxanneデモを見ると '$( '#editor_draw_erase')を使うことができます。bootstrapToggle( 'disable');' enable ' – Alexis

+0

あなたのライブラリには問題があります。それは動作するhttps://jsfiddle.net/c7p9n62w/18/ – Alexis

1

var consoleLine = "<p class=\"console-line\"></p>"; 
 

 
    console = { 
 
    log: function(text) { 
 
     $("#console-log").append($(consoleLine).html(text)); 
 
    } 
 
    }; 
 
    $(function() { 
 
    $("#ids").on('click',function() { 
 
    alert('hai'); 
 
    var Toggle = document.getElementById('editor_draw_erase'); 
 
     if (Toggle.checked) { 
 
     console.log("draw") 
 
      //call some function 
 
     } else { 
 
     console.log("erase") 
 
      //call some other functions 
 
     } 
 
    }); 
 
    }) 
 
    
 

 

 
//console.log("draw")
<script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script> 
 
<link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet"/> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="ids"><input type="checkbox" id="editor_draw_erase" data-toggle="toggle" data-on="Draw" data-off="Erase" data-onstyle="success" data-offstyle="danger"></div> 
 
<p> 
 
State: 
 
</p> 
 
<div id="console-log"></div>

関連する問題