仅将输入字段设置为空字符串而不使用选择标记

时间:2017-11-11 04:09:28

标签: javascript jquery html5 web jquery-plugins

我有一个容器,包含几个输入标记和一个选择标记。所有人都有className,让我们称之为"联系"。在jquery中,我通过" contact"访问所有这些内容。此外,还有一个复选框在您检查时禁用,当玩具取消选中时,它会清空输入字段并删除禁用。当我取消选中复选框时,我想要做的事情,我想将输入字段设置为空字符串,我做了,但我做了包括我没有设置为空字符串的选择标记



    $("#showCheckoutHistory").change(function(event){
        if (this.checked){
          $(".contact").attr("disabled","disabled");
        }
        else {
          $(".contact").removeAttr("disabled");
          
          /* here is the problem, how can you empty the value of the 																input ONlY. Without chnaging the className Javascript and 															Adding Another name in the HTML
          */
					$(".contact").val("");
        }
    });

<input id="showCheckoutHistory" name="showCheckoutHistory" type="checkbox"/><label for="showCheckoutHistory">check</label>
    
    <div class="container">
    <input type="text" value="oo" class="form-control col-xs-10 contact"><br><br>
    <input type="text" value="xx" class="form-control col-xs-10 contact"><br><br>
      <input type="text" value="yy" class="form-control col-xs-10 contact"><br><br>

    <select class="form-control col-xs-10 contact">
    <option>A</option>
    <option>B</option>
    <option selected>C</option>
    </select>
      
    </div>
&#13;
&#13;
&#13;

有错误,但我不知道它是什么

2 个答案:

答案 0 :(得分:1)

抱歉,我没有足够的声誉发表评论。 我测试了你的代码,并且可以随心所欲地运行。 您错过了在stackoverflow代码段中选择jquery。 请检查以下代码。 如果你添加jquery脚本后它仍无法正常工作,那么请告诉我你使用的jquery版本。 (别忘了在代码片段编辑器中添加jquery cdn或选择jquery库)

如果你想继续选择select元素,请删除下面的联系类。

$("#showCheckoutHistory").change(function(event){
        if (this.checked){
          $(".contact").attr("disabled","disabled");
        }
        else {
          $(".contact").removeAttr("disabled");
          
          /* here is the problem, how can you empty the value of the 																input ONlY. Without chnaging the className Javascript and 															Adding Another name in the HTML
          */
					$(".contact").val("");
        }
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="showCheckoutHistory" name="showCheckoutHistory" type="checkbox"/><label for="showCheckoutHistory">check</label>
    
    <div class="container">
    <input type="text" value="oo" class="form-control col-xs-10 contact"><br><br>
    <input type="text" value="xx" class="form-control col-xs-10 contact"><br><br>
      <input type="text" value="yy" class="form-control col-xs-10 contact"><br><br>

    <select class="form-control col-xs-10"> <!-- I removed contact class in here to keep selection -->
    <option>A</option>
    <option>B</option>
    <option selected>C</option>
    </select>
      
    </div>

答案 1 :(得分:0)

在代码中包含$引用。这意味着添加

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

你的HTML中的

$("#showCheckoutHistory").change(function(event){
  if (this.checked){
    $(".contact").attr("disabled","disabled");
  }
  else {
    $(".contact").removeAttr("disabled");

    /* here is the problem, how can you empty the value of the 																input ONlY. Without chnaging the className Javascript and 															Adding Another name in the HTML
    */
  $(".contact").each(function(i, el){
      if($(el)[0].nodeName != "SELECT"){
        $(el).val("");
      }
    });

  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <input id="showCheckoutHistory" name="showCheckoutHistory" type="checkbox"/><label for="showCheckoutHistory">check</label>

  <div class="container">
  <input type="text" value="oo" class="form-control col-xs-10 contact"><br><br>
  <input type="text" value="xx" class="form-control col-xs-10 contact"><br><br>
    <input type="text" value="yy" class="form-control col-xs-10 contact"><br><br>

  <select class="form-control col-xs-10 contact">
    <option>A</option>
    <option>B</option>
    <option selected>C</option>
  </select>

  </div>

</div>