简体   繁体   中英

Bootstrap radio button group knockout binding doesn't work

I followed this: http://volaresystems.com/blog/post/2013/12/09/Using-Bootstrap-3-radio-button-groups-with-Knockout-3-data-bindings (jQuery 2.0.3, Bootstrap 3.0.3, Knockout 3.0.0)

As far as I can see the only differences are the jQuery, Knockout and Bootstrap version numbers, but the major version numbers match. http://jsfiddle.net/csabatoth/rLtL16xk/12/ (jQuery 2.1.3, Bootstrap 3.3.4, Knockout 3.3.0)

<p>
    Currently selected: <span data-bind="text: selectedOption"></span>
</p>

<div class="btn-group-vertical" data-toggle="buttons">
    <label class="btn btn-lg btn-primary" data-bind="css: { 'active': selectedOption() === 'Purchase Target Cat' }">
        <input type="radio" name="options" id="option1" data-bind="checked: selectedOption, checkedValue: 'Purchase Target Cat'">Purchase Target Cat
    </label>
    <label class="btn btn-lg btn-primary" data-bind="css: { 'active': selectedOption() === 'Purchase Existing Cat' }">
        <input type="radio" name="options" id="option2" data-bind="checked: selectedOption, checkedValue: 'Purchase Existing Cat'">Purchase Existing Cat
     </label>
     <label class="btn btn-lg btn-primary" data-bind="css: { 'active': selectedOption() === 'Existing Dog Purchases Target Cat' }">
        <input type="radio" name="options" id="option3" data-bind="checked: selectedOption, checkedValue: 'Existing Company Purchases Target Company'">Existing Dog Purchases Target Cat
     </label>
</div>

var viewModel = function () {
    var self = this;
    self.selectedOption = ko.observable("Target Cat");
}

$(document).ready(function () {
    var vm = new viewModel();
    ko.applyBindings(vm);
});

Can anyone point out why this doesn't work? The binding is only one way. It gets the initial value, but not useful further.

try <div class="btn-group-vertical" data-toggle="buttons"> remove data-toggle="buttons"

add css:

label.btn > input[type='radio']
{
    display: none;
}

js: remove $(document).ready(function () {

DEMO

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM