我正在使用bootsnipp中的自定义单选按钮片段,在页面上的描述中,它说可以使用隐藏输入切换值,但我不太清楚如何做到这一点。有人可以对此有所了解吗? 假设我希望第二组仅在使用jQuery选择第一组中的第一个选项时显示。
$('.radioBtn a').on('click', function(){
var sel = $(this).data('title');
var tog = $(this).data('toggle');
$('#'+tog).prop('value', sel);
$('a[data-toggle="'+tog+'"]').not('[data-title="'+sel+'"]').removeClass('active').addClass('notActive');
$('a[data-toggle="'+tog+'"][data-title="'+sel+'"]').removeClass('notActive').addClass('active');
});
.radioBtn .notActive{
color: #3276b1;
background-color: #fff;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<div class="input-group">
<div class="radioBtn btn-group">
<a class="btn btn-primary btn-sm active" data-toggle="option-set-one" data-title="option-one">Option 1</a>
<a class="btn btn-primary btn-sm notActive" data-toggle="option-set-one" data-title="option-two">Option 2</a>
</div>
<input type="hidden" name="option-set-one" id="option-set-one">
</div>
<div class="input-group">
<div class="radioBtn btn-group">
<a class="btn btn-primary btn-sm active" data-toggle="option-set-two" data-title="option-three">Option 3</a>
<a class="btn btn-primary btn-sm notActive" data-toggle="option-set-two" data-title="option-four">Option 4</a>
</div>
<input type="hidden" name="option-set-two" id="option-set-two">
</div>
答案 0 :(得分:1)
您可以这样检查:
if($('a[data-title="option-one"]').hasClass('active'))
alert('option one is active');
else
alert('option one is inactive');
另请注意我对您的标记所做的更改,您在同一元素上不能有两个class
属性。如果你想在同一个元素上有两个不同的类,那就写成:class="myClass1 myClass2"
要在PHP中检查它,您将不得不使用隐藏的输入,使用if
只是让您在提交之前更改输入的值:
if($('a[data-title="option-one"]').hasClass('active'))
$('input[name="myHiddenInput"]').val(1);
else
$('input[name="myHiddenInput"]').val(0);
然后在您的PHP代码中(假设POST)使用:
if($_POST['myHiddenInput'] == '1') ....