删除部分输入字段的值

时间:2016-03-09 15:23:23

标签: jquery html

我制作了一个jQuery脚本,附加/添加到输入字段的现有值。我这样做是通过检查复选框是否被选中,如果是,添加文本,如果它再次未选中,我想删除该文本 - 不清除整个值,只需删除那个价值的一小部分 - 我试图通过用任何东西替换附加值来做到这一点,但它似乎不起作用。

这是我的剧本;

$(document).ready(
  function(){
    $('.checkbox').change(function(){
    if ($(this).is(':checked')) {
      if($('#output').val().indexOf('?') >= 0) {
        var input = $( "#output" );
        $('#output').val($('#output').val() + '&avatar');
      } else {
        $('#output').val($('#output').val() + '?avatar');
      }
    } else {
      $('#output').val(value.replace('?avatar', ''));
      $('#output').val(value.replace('&avatar', ''));
    }
  });
});

我在这里不是最好的jQuery - 如果必须的话,我真的只是这样做,所以我可能会错过这里明显的。

这是一个包含我的HTML的jsFiddle

我已经在这里挣扎了一段时间,任何帮助表示感谢 - 提前谢谢你!

1 个答案:

答案 0 :(得分:3)

您的小提琴有一些错误 - 您的div容器也有类复选框,因此导致双击。

还修复了其他一些部分,没有定义任何称为值的东西。

https://jsfiddle.net/vws4hpez/1/

<script>

* HTML:

$(document).ready(
  function() {
    $('.checkbox').change(function() {
      if ($(this).is(':checked')) {
        console.log('checked');
        if ($('#output').val().indexOf('?') >= 0) {
          var input = $("#output");
          $('#output').val($('#output').val() + '&avatar');
        } else {
          $('#output').val($('#output').val() + '?avatar');
        }
      } else {
        console.log('not');
        $('#output').val($('#output').val().replace('?avatar', ''));
        $('#output').val($('#output').val().replace('&avatar', ''));
      }
    });
  });