我有这个代码用于将两个文本字段组合到单个字段并将其复制为textarea中的一行。现在,如果我留下一行未填充 - 它将在我的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链接搞砸了,你可以从评论中找到它。)
答案 0 :(得分:0)
您真正需要的是检查该值是否大于1(假设您默认输入的空间):
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??