0

私はtwitter-bootstrapに夢中になり、アプリケーションに使用できるシンプルなスタイルが好きです。

通常のチェックボックスの代わりに要素buttons-checkboxを使用したいと思います

<div class="control-group">
    <div class="controls">
        <div class="btn-group btn-group-vertical" data-toggle="buttons-checkbox">
            <button type="button" class="btn btn-info btn-small" value="1" id="LanguagesAvailable_0__Code" name="LanguagesAvailable[0].Code">
                Value 1
            </button>
            <button type="button" class="btn btn-info btn-small" value="2" id="LanguagesAvailable_1__Code" name="LanguagesAvailable[1].Code">
                Value 2
            </button>
            <button type="button" class="btn btn-info btn-small" value="3" id="LanguagesAvailable_2__Code" name="LanguagesAvailable[2].Code">
                Value 3
            </button>
            <button type="button" class="btn btn-info btn-small" value="4" id="LanguagesAvailable_3__Code" name="LanguagesAvailable[3].Code">
                Value 4
            </button>
        </div>
    </div>
</div>

悲しいことに、私はそれらのタイプの要素を投稿することができます。

チェックボックスをtwitter-bootstrapでスタイル設定し、それらの要素をFORMにPOSTするための回避策はありますか?

ここにフィドルを用意しました。

4

1 に答える 1

1

あなたはおそらくこの解決策を使うことができます:

http://jsfiddle.net/charettes/SauLj/

jQuery:

jQuery(document).ready(function($){
    $('#radio_3').prop('disabled', true);
    $('#radio_2').prop('checked', true);
});

CSS:

.btn-group > input {
    display: none;
}

.btn-group input:first-child + .btn {
     /* This is an actual copy/paste of the .btn-group .btn:first-child style */
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
    margin-left: 0;
}

input:checked + label.btn {
    /* This is an actual copy/paste of the .btn:active style */
    background-color: #E6E6E6;
    background-image: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) inset, 0 1px 2px rgba(0, 0, 0, 0.05);
    color: rgba(0, 0, 0, 0.5);
    outline: 0 none;
}

input[disabled] + label.btn {
    /* This is an actual copy/paste of the .btn:disabled style */
    background-color: #E6E6E6;
    background-image: none;
    box-shadow: none;
    cursor: default;
    opacity: 0.65;
}

HTML:

<input type="checkbox" class="hidden" id="single_checkbox" />
<label class="btn" for="single_checkbox">Single</label>
<br/><br/>
<div class="btn-group">
    <input type="checkbox" id="checkbox_1" />
    <label class="btn" for="checkbox_1">Checkbox one</label>
    <input type="checkbox" id="checkbox_2" />
    <label class="btn" for="checkbox_2">Checkbox two</label>
    <input type="checkbox" disabled id="checkbox_3" />
    <label class="btn" for="checkbox_3">Disabled checkbox three</label>
</div>
<br/>
<div class="btn-group">
    <input type="radio" name="radios" id="radio_1" />
    <label class="btn" for="radio_1">Radio one</label>
    <input type="radio" name="radios" id="radio_2" />
    <label class="btn" for="radio_2">Radio two</label>
    <input type="radio" name="radios" id="radio_3" />
    <label class="btn" for="radio_3">Disabled radio three</label>
</div>
于 2013-02-19T09:59:03.100 に答える