2015-11-10 13 views
9

Tôi có đánh dấu này và jQuery nhưng tôi không thể nắm bắt được thành công giá trị nút hoặc on/off hoặc bất kỳ hình thức công nhận các thiết lập của Toggle:Làm thế nào để có được giá trị của một nút bật tắt Bootstrap trong jQuery

HTML

<div class="form-group"> 
    <label class="col-md-2 control-label" for="payMethod">Payment Method</label> 
     <div class="col-md-2"> 
     <label class="checkbox-inline bootstrap-switch-noPad" for="payMethod"> 
      <input type="checkbox" id="payMethod" name="payMethod" data-size="small" value="Credit" data-on-text="Credit" data-on-color="success" data-off-text="Cash" data-off-color="warning" tabindex="13"> 
     </label> 
     </div> 
    </div> 

jQuery

$('#payMethod').on('change', function() { 
    alert('slid'); 
}); // does not work 

$("#payMethod").click(function() { 
    alert($('#payMethod').val()); 
}); // does not work 

$('#payMethod').change(function() { 
    alert('Toggle: ' + $(this).prop('checked')); 
}); // does not work 

$('input[type=checkbox][name=payMethod]').change(function() { 
    alert('help'); // does not work 
}); 

Sau đây là các thanh trượt nút (không có hộp): enter image description here enter image description here

Trả lời

13

bạn có thể thử này

$("#payMethod").change(function(){ 
    if($(this).prop("checked") == true){ 
     //run code 
    }else{ 
     //run code 
    } 
}); 
+0

ok, cảm ơn @Makubex - Tôi sẽ thử ngay và gửi lại –

+0

Nó không hoạt động @Makubex –

+0

đây là mẫu mã đã chỉnh sửa của tôi https: //jsfiddle.net/jmtolibas/nnhur6de/ – Makubex

1

Tôi đoán rằng kịch bản được đặt trước thẻ HTML? Nếu vậy, sau đó di chuyển tập lệnh sau thẻ Html, hoặc đặt kịch bản bên trong jQuery chức năng như sau:

$(function() 
{ 

    $('#payMethod').on('change', function() { 
     alert('slid'); 
    }); // does not work 

    $("#payMethod").click(function() { 
     alert($('#payMethod').val()); 
    }); // does not work 

    $('#payMethod').change(function() { 
     alert('Toggle: ' + $(this).prop('checked')); 
    }); // does not work 

    $('input[type=checkbox][name=payMethod]').change(function() { 
     alert('help'); // does not work 
    }); 
}); 

Cách tốt nhất là sử dụng một sau, trong đó đặt các tập lệnh bên trong hàm jQuery. Bởi vì các tập lệnh sẽ được hiển thị sau khi tất cả các thẻ HTML đã được hiển thị.

+0

đó là một đoạn mã. Toàn bộ tập lệnh nằm ngay trước thẻ '', sau khi tải jQuery Lib. –

+0

Tôi đã đạt được nhiều tiến bộ nhất với các đề xuất của bạn tại đây @OetawanAryaChandra. Tôi không có nó hoạt động chính xác, nhưng xe tăng để bạn hướng dẫn. –

+0

'$ (" #payMethod ") .click (function() { alert ($ ('# payMethod'). Val()); }); 'cái này đang kích hoạt nhưng chỉ trên ** Tín dụng **, ** Tiền mặt ** không trả lại –

1

Bạn có thể sử dụng đơn giản như sau: Nếu trong mã html của bạn, bạn sử dụng id = abc để chuyển đổi khởi động.

$('#abc').prop('checked') 

Kết quả là: đúng hoặc sai. (Đúng khi bật và tắt khi bật tắt)

Các vấn đề liên quan