如何在隐藏输入中获取 bootstrap 开关值

How to get a bootstrap switch value in hidden input

我正在使用一个 bootstrap 开关,它看起来像切换框,只需单击一下即可切换两个值。这是开关代码。

<input class="bt-switch transaction_type_filter" type="checkbox" checked data-on-text="Buy" name="transaction_type_filter" id="transaction_type_filter" data-off-text="Rent" data-on-color="primary" data-off-color="warning">

只要有人点击这个开关,开关就会切换到左-右或右-左,并带有开关文本。

我想要隐藏框中的 "data-on-text" & "data-off-text" 或至少是真假状态。

这是我想要值的隐藏输入。

<input class="prop_state" type="hidden" value="" id="prop_state">

我已经尝试了其中的一些代码以获得所需的结果。

    $(document).on('click', '#transaction_type_filter', function () {
    alert($('#transaction_type_filter').bootstrapSwitch('state'));
    alert($('#transaction_type_filter').bootstrapSwitch('toggleState'));
    console.log($('#transaction_type_filter').bootstrapSwitch('toggleState'));
    console.log($('#transaction_type_filter').bootstrapSwitch('state'));
});

并且还尝试了一些其他脚本。

 $(document).ready(function() {
 $('.transaction_type_filter').on('switch-change', function (e, data) {
    var $el = $(data.el)
      , value = data.value;
    if($('#transaction_type_filter').bootstrapSwitch('state') === true){//this is true if the switch is on
       alert('true');
    }else{
       alert('false');
    }
});
 });

我在jquery或js方面的工作经验不多。我只是在尝试。把我当作初学者。感谢您提前提出任何建议。

这是jsfiddle

感谢朋友的帮助。我得到了获取 bootstrap 开关的正确方法 state.Here 是代码。

 $('#transaction_type_filter').on('change.bootstrapSwitch', function (e, state) {
    console.log(e.target.checked);
    alert(e.target.checked);
    if (e.target.checked == true) {
        $value = 'buy';
        $('input.prop_state').val($value);
    } else {
        $value = 'rent';
        $('input.prop_state').val($value);
    }
});