我有一个带有单选按钮的表单。当用户选择"不适合"时,我希望他们继续从第二组单选按钮中指出原因。在他们点击"不适合"单选按钮之前,我不希望这些原因被显示出来。
如何在JavaScript或jQuery中完成此操作?
这是我的代码,抱歉设计
<div class="col-xs-7">
<input type="radio" name="res" <?php if (isset($res) && $res=="Fit") echo "checked";?> value="Fit">Fit
<br>
<input type="radio" name="res" <?php if (isset($res) && $res=="Unfit") echo "checked";?> value="Unfit">Unfit
<br>
<input type="radio" name="res" <?php if (isset($res) && $res=="all") echo "checked";?>value="all">All
</div>
<div class="col-xs-3">
</div>
</div>
<div class="col-lg-6">
</div>
</div>
<h4>Reason for being unfit</h4>
<hr>
<div class="row">
<div class="col-lg-6">
<div class="col-xs-2">
</div>
<div class="col-xs-7">
<input type="radio" name="ru" <?php if (isset($ru) && $ru=="Tuberculosis") echo "checked";?> value="Tuberculosis">Tuberculosis
br>
<input type="radio" name="ru" <?php if (isset($ru) && $ru=="Pneumonia") echo "checked";?> value="Pneumonia">Pneumonia
<br>
<input type="radio" name="ru" <?php if (isset($ru) && $ru=="all") echo "checked";?>value="All">All
</div>
<div class="col-xs-3">
</div>
</div>
<div class="col-lg-6">
</div>
</div>
试试下面的
你可以通过列表到每个单选按钮的点击事件,然后找到特定单选框的id,并检查它是否等于无线电不适合。然后,我们将显示下一个单选按钮集。
$(document).ready(function() {
$("#unfit-reason").hide();
// when you click the radio check whether that is radio-unfit
$("input[name=res]").click(function() {
if ($(this).attr("id") == "radio-unfit") {
$("#unfit-reason").show();
} else {
$("#unfit-reason").hide();
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="col-xs-7">
<input type="radio" name="res" <?php if (isset($res) && $res=="Fit" ) echo "checked";?>value="Fit">Fit
<br>
<input id="radio-unfit" type="radio" name="res" <?php if (isset($res) && $res=="Unfit" ) echo "checked";?>value="Unfit">Unfit
<br>
<input type="radio" name="res" <?php if (isset($res) && $res=="all" ) echo "checked";?>value="all">All
</div>
<div class="col-xs-3">
</div>
</div>
<div class="col-lg-6">
</div>
</div>
<div id='unfit-reason'>
<h4>Reason for being unfit</h4>
<hr>
<div class="row">
<div class="col-lg-6">
<div class="col-xs-2">
</div>
<div class="col-xs-7">
<input type="radio" name="ru" <?php if (isset($ru) && $ru=="Tuberculosis" ) echo "checked";?>value="Tuberculosis">Tuberculosis br>
<input type="radio" name="ru" <?php if (isset($ru) && $ru=="Pneumonia" ) echo "checked";?>value="Pneumonia">Pneumonia
<br>
<input type="radio" name="ru" <?php if (isset($ru) && $ru=="all" ) echo "checked";?>value="All">All
</div>
<div class="col-xs-3">
</div>
</div>
<div class="col-lg-6">
</div>
</div>
</div>
使用jQuery,您可以在页面加载时隐藏原因,然后在单击适当的单选按钮时显示它们。
这个简单的例子不支持所有可能的导航(也就是说,一旦你看到了原因,它们仍然是可见的)。尽管如此,它应该给你一个想法。
注意,如果表单元素具有惟一的id,则简化了对它们的操作,因此我在需要的地方添加了它们。
$( document ).ready(function() {
// Hide reasons initially
$("#unfit-reason").hide();
// Show reasons when unfit is clicked
$( "#radio-unfit" ).click(function() {
$("#unfit-reason").show();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="col-xs-7">
<input type="radio" name="res" <?php if (isset($res) && $res=="Fit") echo "checked";?> value="Fit">Fit
<br>
<input id="radio-unfit" type="radio" name="res" <?php if (isset($res) && $res=="Unfit") echo "checked";?> value="Unfit">Unfit
<br>
<input type="radio" name="res" <?php if (isset($res) && $res=="all") echo "checked";?>value="all">All
</div>
<div class="col-xs-3">
</div>
</div>
<div class="col-lg-6">
</div>
</div>
<div id='unfit-reason'>
<h4>Reason for being unfit</h4>
<hr>
<div class="row">
<div class="col-lg-6">
<div class="col-xs-2">
</div>
<div class="col-xs-7">
<input type="radio" name="ru" <?php if (isset($ru) && $ru=="Tuberculosis") echo "checked";?> value="Tuberculosis">Tuberculosis
br>
<input type="radio" name="ru" <?php if (isset($ru) && $ru=="Pneumonia") echo "checked";?> value="Pneumonia">Pneumonia
<br>
<input type="radio" name="ru" <?php if (isset($ru) && $ru=="all") echo "checked";?>value="All">All
</div>
<div class="col-xs-3">
</div>
</div>
<div class="col-lg-6">
</div>
</div>
</div>