【发布时间】:2016-08-31 16:34:46
【问题描述】:
我正在构建一个动态表单来订购产品并设置单选按钮的样式。我没有添加所有的 CSS,但足以看到我遇到的问题。我有一些JavaScript在选择单选按钮时添加一个类,但它不正常工作。我希望它能够工作,所以当您选择第 1 组中的选项之一时,按钮变为绿色并保持绿色......然后当您选择第 2 组中的选项时,该按钮也会变为绿色。
我将添加几个选项(单选组)并需要更新 javascript,以便每个组都有一个选择的单选按钮,保持绿色,但我对 javascript 了解不多。
也许每个标签都有某种类型的数组?
$('label').click(function () {
$('label').removeClass('btn-primary3');
$(this).addClass('btn-primary3');
});
$('input:checked').parent().addClass('btn-primary3');
li.button-list {width:100%; margin:0px 0px 35px -20px; list-style:none; font-size:16px !important; position:relative; text-align:center;}
.checked{display:none;}
input.noradio {visibility: hidden;margin-left:-10px; }
label.btn-primary2 {background-color:#333; border-color:#333;font-size:16px !important; color:#fff; padding:10px;}
label.btn-primary3 {background-color:#008902 !important; border-color:#008902 !important;font-size:16px !important;}
label.btn-primary2:hover {background-color:#008902 !important; border-color:#008902 !important;}
label.btn-primary2:focus {background-color:#008902 !important; border-color:#008902 !important;}
label.btn-primary3:hover {background-color:#008902 !important; border-color:#008902 !important;}
label.btn-primary3:focus {background-color:#008902 !important; border-color:#008902 !important;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<h3 style="text-align:center;">First Radio Group</h3>
<ul class="btn-group" id="input_14_20">
<li class="gchoice_14_20_0 button-list" >
<label class="wbc-button button btn btn-primary btn-primary2 active" for="choice_14_20_0" id="label_14_20_0">
<input type="radio" name="input_20" class="noradio" id="choice_14_20_0" tabindex="1" onclick="gf_apply_rules(14,[0,92,99]);" onkeypress="gf_apply_rules(14,[0,92,99]);" autocomplete="off" checked="checked" value="Standard Floor Plan (King-Size Bed)|49900">
<i class="fa fa-check checked" style="margin-left:-15px;"></i> <i class="fa fa-times unchecked" style="margin-left:-15px;"></i> Option 1</label>
</li>
<li class="gchoice_14_20_1 button-list">
<label class="wbc-button button btn btn-primary btn-primary2">
<input type="radio" name="input_20" class="noradio" id="choice_14_20_1" tabindex="2" value="Twin Bed Floor Plan|49900" onclick="gf_apply_rules(14,[0,92,99]);" onkeypress="gf_apply_rules(14,[0,92,99]);" autocomplete="off"><i class="fa fa-check checked" style="margin-left:-15px;"></i> <i class="fa fa-times unchecked" style="margin-left:-15px;"></i> Option 2</label>
</li>
</ul>
<h3 style="text-align:center;">Second Radio Group</h3>
<ul class="btn-group2" id="input_14_24">
<li class="gchoice_14_24_0 button-list">
<label name="countertops" class="wbc-button button btn btn-primary btn-primary2 active" for="choice_14_24_0" id="label_14_24_0">
<input type="radio" name="input_24" class="noradio" id="choice_14_24_0" tabindex="3" autocomplete="off" onclick="changeImage(0) gf_apply_rules(14,[0,101]);" onkeypress="gf_apply_rules(14,[0,101]);" checked="checked" value="Standard Countertops|0">
<i class="fa fa-check checked" style="margin-left:-15px;"></i> <i class="fa fa-times unchecked" style="margin-left:-15px;"></i> Option 1</label>
</li>
<li class="gchoice_14_24_1 button-list">
<label name="countertops" class="wbc-button button btn btn-primary btn-primary2" for="choice_14_24_1" id="label_14_24_1">
<input type="radio" name="input_24" class="noradio" id="choice_14_24_1" tabindex="4" onclick="changeImage(1) gf_apply_rules(14,[0,101]);" onkeypress="gf_apply_rules(14,[0,101]);" value="Fiber-Granite Countertops|1800" autocomplete="off"><i class="fa fa-check checked" style="margin-left:-15px;"></i> <i class="fa fa-times unchecked" style="margin-left:-15px;"></i> Option 2</label>
</li>
</ul>
【问题讨论】:
标签: javascript jquery css