是否可以通过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">
任何想法。感谢。
答案 0 :(得分:1)
您应该使用map
和join
来获取所有值。因此,您不需要在不同属性中存储或添加值。检查以下代码:
$("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;
答案 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];
}
$(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;
答案 4 :(得分:0)
您的意思是将输入值合并为单个字符串吗?
var inputs = $('.inputs');
inputs.keyup(function() {
$('.solution_2').val(inputs.val().join(''));
});