我为我的单选按钮创建了一个隐藏功能。每当用户点击单选按钮时,它将显示/隐藏div。 使用Javascript:
$('input[type="radio"]').click(function () {
if ($(this).attr("id") == "CodeYes") {
$("#time").show();
}
if ($(this).attr("id") == "CodeNo") {
$("#time").hide();
}
});
HTML表单:
<div class="form-group">
<label class="col-sm-5 control-label">Code Initiated </label>
<div class="col-sm-7">
<label class="radio radio-inline">
<input type="radio" name="CodeInitiated" value="true" id="CodeYes"> Yes</label>
<label class="radio radio-inline">
<input type="radio" name="CodeInitiated" value="false" id="CodeNo"> No</label>
</div>
</div>
<div class="form-group" id="time">
<label class="col-sm-5 control-label">Time </label>
<div class="col-sm-3 ">
<div Class="input-group ">
<input Class="form-control input-sm" id="CodeInitiatedTime" name="CodeInitiatedTime" type="datetime-local" />
</div>
</div>
</div>
当用户点击yes
按钮时,时间div将显示。问题是,当用户点击yes
按钮并在里面的输入框中输入一个输入时,用户点击no
按钮,这意味着他想要取消之前的输入。提交表单时,输入仍保留值并将其带到控制器。如果单击正确的按钮单击单选按钮,如何确保仅对该值进行求和?
答案 0 :(得分:1)
当您隐藏div
时,您还可以disable
input
(反之亦然)
$('input[type="radio"]').click(function () {
if ($(this).attr("id") == "CodeYes") {
$("#time").show();
$("#time").find(":input").prop( "disabled", false ); //enable it back
}
if ($(this).attr("id") == "CodeNo") {
$("#time").hide();
$("#time").find(":input").prop( "disabled", true ); //disable on hide
}
});
未提交已停用的输入。