![](/img/trans.png)
[英]How to add and combine text value of 2 textarea elements and populate the combined text in a third textarea using JavaScript?
[英]How to combine multiple text fields into textarea only when value is 1 or greater
我有这段代码用于将两个文本字段组合为单个字段,并将其复制为textarea中的一行。 现在,如果我不填一行,它将在我的文本区域中留空行。
我尝试编写if> 0 / else语句来防止textarea中出现空行,但让我们面对现实,我只是一个简单的图形设计师,没有使用jquery或javascript的编码经验。
的HTML
1.
<label>Product </label><input type="text" id="text_1-1" value=""/>
<label>Quantity </label><input type="text" class="sis" id="text_1-2" value=""/>
<label>Combined </label><input class="yht" type="text" name="i1" id="text_1-3" value="" readonly/>
<br><br>
2.
<label>Product </label><input type="text" id="text_2-1" value=""/>
<label>Quantity </label><input type="text" class="sis" id="text_2-2" value=""/>
<label>Combined </label><input type="text" class="yht" name="i2" id="text_2-3" value="" readonly/>
<br><br>
3.
<label>Product </label><input type="text" id="text_3-1" value=""/>
<label>Quantity </label><input type="text" class="sis" id="text_3-2" value=""/>
<label>Combined </label><input type="text" class="yht" name="i3" id="text_3-3" value="" readonly/>
<br><br>
<textarea name="t" rows="3"></textarea>
JQUERY
$(".sis").change(function(){
$("#text_1-3").val($("#text_1-1").val() + " " + $("#text_1-2").val());
$("#text_2-3").val($("#text_2-1").val() + " " + $("#text_2-2").val());
$("#text_3-3").val($("#text_3-1").val() + " " + $("#text_3-2").val());
var values = "";
// EASY WAY TO RUN THIS ONLY ON CHANGE AND IF QTY IS MORE THAN 0 ???
$("input.yht").each(function(i) {
values += (i > 0 ? "\n" : "") + this.value;
});
$("textarea").val(values);
});
// SO TEXAREA WOULD NOT COPY ANY EMPTY LINES??
这是FIDDLE
(如果由于某种原因我再次弄乱了givin链接以进行提琴演奏,则可以从评论中找到它。)
您真正需要做的就是检查该值是否大于一(考虑到默认情况下要输入的空间):
if(this.value.length > 1)
完整代码:
$(".sis").change(function(){
$("#text_1-3").val($("#text_1-1").val() + " " + $("#text_1-2").val());
$("#text_2-3").val($("#text_2-1").val() + " " + $("#text_2-2").val());
$("#text_3-3").val($("#text_3-1").val() + " " + $("#text_3-2").val());
var values = "";
// EASY WAY TO RUN THIS ONLY ON CHANGE AND IF QTY IS MORE THAN 0 ???
$("input.yht").each(function(i) {
if(this.value.length > 1)
values += (i > 0 ? "\n" : "") + this.value;
});
$("textarea").val(values);
});
// SO TEXAREA WOULD NOT COPY ANY EMPTY LINES??
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.