尝试使用jquery从值中删除一些东西

时间:2016-09-06 12:03:48

标签: javascript jquery html

我希望在选中并取消选中复选框时,输入的值会发生变化。

我有它工作,所以当选中一个框时,未选中框的值变为

  

“ATTPVAT2”,“ATTPTAX2”,“ATTPBHS2”

等。但是我不知道如何设置jquery所以当一个盒子被取消选中时它会移除2并变成

  

“ATTPVAT”,“ATTPTAX”,“ATTPBHS”

试。

该行

var core2Name = $(".ATT:not(:checked)").val() - "2"; 

返回NaN

function core2() {
  var i = 0;

  $('.ATT').each(function() {
    if ($(this).is(':checked')) {
      i += 1
    }
  });
  $('.ATT').each(function() {
    if ($(this).is(':not(:visible)')) {
      i += 1
    }
  });

  if (i < 0) {
    var core2Name = $(".ATT:not(:checked)").val() - "2";
    $(".ATT:not(:checked)").val(core2Name);

  };


  if (i == 1) {
    $(".ATT:checked").prop('disabled', true);
    var core2Name = $(".ATT:not(:checked)").val() + "2";
    $(".ATT:not(:checked)").val(core2Name);

  };

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="checkbox" name="examlist" value="ATTPTAX" id="ATTPTAX1" class="ATT" onclick=" if(core2()){this.checked=false}; " />
<input type="checkbox" name="examlist" value="ATTPVAT" id="ATTPVAT2" class="ATT" onclick=" if(core2()){this.checked=false}; " />
<input type="checkbox" name="examlist" value="ATTPBHS" id="ATTPBHS3" class="ATT" onclick=" if(core2()){this.checked=false}; " />

2 个答案:

答案 0 :(得分:1)

-用于减去数字,它不适用于字符串。您得到NaN因为"ATTPVAT2"不是数字,所以用它来执行算术是没有意义的。

从字符串中删除字符的功能是String.prototype.replace。它应该是:

var core2Name = $(".ATT:not(:checked)").val().replace('2', '');

答案 1 :(得分:-2)

您的codenipet格式不正确,请检查这是否可以帮助您:

function core2(chk) {
                var isChecked = $(chk).is(':checked');
                $("input[type=checkbox]").each(function(index, item) {
                  var name = $(item).attr("name");
                  var id = $(item).attr("name");
                  if (isChecked)
                    $(item).val(id);
                  else
                    $(item).val(name);
                });
        
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type = "checkbox" name="examlist"  value="ATTPTAX" id="ATTPTAX1"  class="ATT" onclick =" core2(this)" />

<input type = "checkbox" name="examlist"  value="ATTPVAT" id="ATTPVAT2"  class="ATT" onclick =" core2(this)" />

<input type = "checkbox" name="examlist"  value="ATTPBHS" id="ATTPBHS3"  class="ATT" onclick =" core2(this)" />