我想知道什麼是最佳的方式來將選擇菜單轉換爲具有初始選定狀態的按鈕。轉換選擇默認的選擇菜單到按鈕
我在Stackoverflow上搜索了這個解決方案,這是我發現的足夠接近的唯一鏈接。但是,如果只有一個具有「selected」屬性的項目應該突出顯示,那麼代碼在製作所有最初選定的項目時會出錯。 Original Stackoverflow Post
$(function() {
$("select option").unwrap().each(function() {
var btn = $('<div class="btn">' + $(this).text() + '</div>');
if ($(this).is(':checked')) btn.addClass('on');
$(this).replaceWith(btn);
});
$(document).on('click', '.btn', function() {
$('.btn').removeClass('on');
$(this).addClass('on');
});
});
div.btn {
display: inline-block;
/** other styles **/
}
div.btn.on {
background-color: #777;
color: white;
/** styles as needed for on state **/
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="text">
<option selected>Yes</option>
<option>No</option>
</select>
'selected'是一個布爾屬性,它並不需要有任何價值。只需檢查'$(this).attr('selected')'(其結果爲真/假)就足夠了:) – Terry