提交已选中单选按钮的输入值

时间:2018-01-02 09:52:55

标签: javascript jquery html forms

我为我的单选按钮创建了一个隐藏功能。每当用户点击单选按钮时,它将显示/隐藏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按钮,这意味着他想要取消之前的输入。提交表单时,输入仍保留值并将其带到控制器。如果单击正确的按钮单击单选按钮,如何确保仅对该值进行求和?

1 个答案:

答案 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
            }
  });

未提交已停用的输入。