在不删除旧值

时间:2017-08-02 12:06:02

标签: javascript jquery html css

是否可以通过jquery添加值属性,但不能删除旧的atribut(类似于addClass)。我有7个输入字段,需要将它组合在一个单词中并传递给另一个输入字段。我试图从类型字段中获取值并将其传递给所有需要组合的字段,但是当我尝试使用

时它始终从最后一个字段获取值
$("input").keyup(function(){
    var test = this.value;
    $(".solution_2").attr('value', test);
});

这是html:

<input id="1" class="q1 inputs letter square border_black" maxlength="1"  type="text"/>
<input id="2" class="q2 inputs letter square border_black" maxlength="1" type="text" />

<input class="solution_2" value="" class="form-control" type="text" name="date">

任何想法。感谢。

5 个答案:

答案 0 :(得分:1)

您应该使用mapjoin来获取所有值。因此,您不需要在不同属性中存储或添加值。检查以下代码:

&#13;
&#13;
$("button").on('click', function() {
  var finalValue = $('input').map(function() {
    return this.value;
  }).get().join('');
  console.log(finalValue);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="1" class="q1 inputs letter square border_black" maxlength="1" type="text" />
<input id="2" class="q2 inputs letter square border_black" maxlength="1" type="text" />

<input class="solution_2" value="" class="form-control" type="text" name="date">

<button class="someClass">Get Value</button>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

首先,您通常使用.val()来获取jquery中的值。

问题是你只取最后一个值并覆盖旧值。您需要使用旧值并添加新值。

$("input").keyup(function(){
    $(".solution_2").val($(".solution_2").val()+this.val());
});

答案 2 :(得分:0)

您可以获得所有价值的evrytime并将其发送到solution_2 类似的东西:

$("input").keyup(function(){
    var test = $("#1").attr("value")+$("#2").attr("value");
    $(".solution_2").attr('value', test);
});

顺便说一句,您可以使用val()而不是attr(&#34; value&#34;);

$("input").keyup(function(){
    var test = $("#1").val()+$("#2").val();
    $(".solution_2").val(test);
});

答案 3 :(得分:0)

试试这个:

String ColumnName = "DateTimeInsert";
DbSet<Log> oDbSet = _uow.DbContext.Set<Log>();

Array DistinctValues;
if (typeof(Log).GetProperty(ColumnName) != null)
  {
  DistinctValues = (await oDbSet.GetDistinctValuesForProperty(ColumnName)).ToArray();
  }
else
  {
  DistinctValues = new object[0];
  }

&#13;
&#13;
$(document).ready(function() {
  $('input').on('input',function(){
    var txt = '';
    $('.solution_2').val('');
    $('input').each(function(){
      txt += $(this).val();
    })
    $('.solution_2').val(txt);
  })
})
&#13;
$(document).ready(function() {
  $('input').on('input',function(){
    var txt = '';
    $('.solution_2').val('');
    $('input').each(function(){
      txt += $(this).val();
    })
    $('.solution_2').val(txt);
  })
})

<!-- begin snippet: js hide: true console: false babel: false -->
&#13;
p {
  display: table-row;
}

input,label {
  display: table-cell;
  margin: 2px;
}
&#13;
&#13;
&#13;

答案 4 :(得分:0)

您的意思是将输入值合并为单个字符串吗?

var inputs = $('.inputs');
inputs.keyup(function() {
    $('.solution_2').val(inputs.val().join(''));
});