I have some input fields - the count of fields will be dynamic - want to concatenate the values into other field. Concatenate ids from C01 to N and store it in cNum Field. Please help.
<form class="cardForm" style="padding: 10px;"autoplete="off" novalidate>
<div class="cardDiv">
<input type="hidden" id="C00" class="cardNum" value="" maxlength="1" />
<input type="text" id="C01" class="cardNum" value="" maxlength="1" autofocus/>
<input type="text" id="C02" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C03" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C04" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C05" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C06" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C07" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C08" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C09" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C10" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C11" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C12" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C13" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C14" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C15" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C16" class="cardNum" value="" maxlength="1"/>
</div>
<div>
<input type="text" id="cNum" class="cardNum" value="" maxlength="1"/>
<input type="text" id="cStatus" class="cardNum" value="" maxlength="1"/>
</div>
<button class="cardReset btn-link" type="reset" value="Reset"><u>Reset</u></button>
</form>
I have some input fields - the count of fields will be dynamic - want to concatenate the values into other field. Concatenate ids from C01 to N and store it in cNum Field. Please help.
<form class="cardForm" style="padding: 10px;"autoplete="off" novalidate>
<div class="cardDiv">
<input type="hidden" id="C00" class="cardNum" value="" maxlength="1" />
<input type="text" id="C01" class="cardNum" value="" maxlength="1" autofocus/>
<input type="text" id="C02" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C03" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C04" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C05" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C06" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C07" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C08" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C09" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C10" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C11" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C12" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C13" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C14" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C15" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C16" class="cardNum" value="" maxlength="1"/>
</div>
<div>
<input type="text" id="cNum" class="cardNum" value="" maxlength="1"/>
<input type="text" id="cStatus" class="cardNum" value="" maxlength="1"/>
</div>
<button class="cardReset btn-link" type="reset" value="Reset"><u>Reset</u></button>
</form>
Share
Improve this question
edited Jan 27, 2016 at 8:16
Mosh Feu
29.4k18 gold badges93 silver badges141 bronze badges
asked Jan 27, 2016 at 5:51
SathishSathish
431 silver badge6 bronze badges
2
- 2 What have you tried so far? I don't see any JavaScript code, only a simple HTML form. – Torbjörn Commented Jan 27, 2016 at 5:55
- I used the first reply. It worked perfectly. I tried ('#cNum').va(("#C01").val() + ..). I am not good at javascript/jquery. :-( – Sathish Commented Jan 29, 2016 at 5:33
4 Answers
Reset to default 3In a simple way you can try below code or run the solution on jsfiddle. Explanation: On key up, it will concatenate all value of Text box starting with capital 'C' and result it into 'cNum' text
$("input[id^=C]").keyup(function(e) {
var str = "";
$("input[id^=C]").each(function(index) {
str = str + $(this).val()
});
$("#cNum").val(str);
});
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="cardForm" style="padding: 10px;" autoplete="off" novalidate>
<div class="cardDiv">
<input type="hidden" id="C00" class="cardNum" value="" maxlength="1" />
<input type="text" id="C01" class="cardNum" value="" maxlength="1" autofocus/>
<input type="text" id="C02" class="cardNum" value="" maxlength="1" />
<input type="text" id="C03" class="cardNum" value="" maxlength="1" />
<input type="text" id="C04" class="cardNum" value="" maxlength="1" />
<input type="text" id="C05" class="cardNum" value="" maxlength="1" />
<input type="text" id="C06" class="cardNum" value="" maxlength="1" />
<input type="text" id="C07" class="cardNum" value="" maxlength="1" />
<input type="text" id="C08" class="cardNum" value="" maxlength="1" />
<input type="text" id="C09" class="cardNum" value="" maxlength="1" />
<input type="text" id="C10" class="cardNum" value="" maxlength="1" />
<input type="text" id="C11" class="cardNum" value="" maxlength="1" />
<input type="text" id="C12" class="cardNum" value="" maxlength="1" />
<input type="text" id="C13" class="cardNum" value="" maxlength="1" />
<input type="text" id="C14" class="cardNum" value="" maxlength="1" />
<input type="text" id="C15" class="cardNum" value="" maxlength="1" />
<input type="text" id="C16" class="cardNum" value="" maxlength="1" />
</div>
<div>
<input type="text" id="cNum" class="cardNum" value="" maxlength="1" />
<input type="text" id="cStatus" class="cardNum" value="" maxlength="1" />
</div>
<button class="cardReset btn-link" type="reset" value="Reset"><u>Reset</u></button>
</form>
If it was me, I would give C01 to C16 an additional class something like
<input type="text" id="C01" class="cardNum cardVal" value="" maxlength="1"/>
<input type="text" id="C02" class="cardNum cardVal" value="" maxlength="1"/>
.
.
.
<input type="text" id="C16" class="cardNum cardVal" value="" maxlength="1"/>
and then
var finalString = "";
$(".cardVal").each(function(i, txt){
finalString += txt.val();
});
$("#cNum").val(finalString);
but if you don't want to do that you can do something like this
var finalString = "";
$(".cardNum").each(function(i, txt){
if(txt.attr("id").indexOf("C") >= 0){
finalString += txt.val();
}
});
$("#cNum").val(finalString);
try this
var concatenatedValue = "";
$( ".cardNum" ).each( function(){
var id = $( this ).attr( "id" );
var number = id.substring(1);
if ( !isNaN( number ) )
{
concatenatedValue += $( this ).val();
}
} );
alert( concatenatedValue );
You can listen on the keyup event for class "cardNum" and concatenate all inputs under the div "cardDiv" and set to the input box.
here is the working example.
$(".cardNum").keyup(function() {
var str = "";
$(".cardDiv .cardNum").each(function(){
str += $(this).val();
});
$("#cNum").val(str);
});
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="cardForm" style="padding: 10px;"autoplete="off" novalidate>
<div class="cardDiv">
<input type="hidden" id="C00" class="cardNum" value="" maxlength="1" />
<input type="text" id="C01" class="cardNum" value="" maxlength="1" autofocus/>
<input type="text" id="C02" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C03" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C04" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C05" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C06" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C07" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C08" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C09" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C10" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C11" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C12" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C13" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C14" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C15" class="cardNum" value="" maxlength="1"/>
<input type="text" id="C16" class="cardNum" value="" maxlength="1"/>
</div>
<div>
<input type="text" id="cNum" class="cardNum" value="" maxlength="1"/>
<input type="text" id="cStatus" class="cardNum" value="" maxlength="1"/>
</div>
<button class="cardReset btn-link" type="reset" value="Reset"><u>Reset</u></button>
</form>
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745222690a4617322.html
评论列表(0条)