在我的应用程序中,我有一个包含Text Inputs
的表单。这些输入的值始终是一个链接。
我的部分Links Inputs
已包含?utm....
。
当用户添加链接时,我有一个input
字段,可以在其中插入utm
并点击将UTM设置为链接按钮,它会追加/添加他们的所有utm
。
Link Inputs
我想要实现的是点击将UTM设置为链接,仅不包含?utm....
的链接,添加/添加{{ 1}}他们的价值。
我已尝试使用下面的代码段。我现在拥有的,将utm
附加到所有链接:
utm
$(".set_utm_value_input").click(function () {
var utmValues = $('#set-input-utm').val();
$("input[class='links']").each(function() {
$(this).val(function() {
return this.value + utmValues;
});
});
});
input{width:100%;}
我也尝试过下面的代码片段。这几乎可以胜任,但唯一不对的是,如果<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input class="form-control" id="set-input-utm" type="text" value="?utm_">
<button class="set_utm_value_input" style="margin-top: 25px;margin-left: -32px;">Set UTM to Links</button>
<input type="text" class="links" value="http://www.link.com/path/?utm_source=facebook&utm_medium=partner">
<input type="text" class="links" value="http://www.link2.com/path/?utm_source=facebook&utm_medium=partner">
<input type="text" class="links" value="http://www.link3.com/path/?utm_source=facebook&utm_medium=partner">
不包含任何value
,它会清除/清空整个输入/值。
utm
$(".set_utm_value_input").click(function () {
var utmValues = $('#set-input-utm').val();
$("input[class='links']").each(function() {
$(this).val(function() {
var inputValue = this.value;
if (inputValue.indexOf('?utm') == -1){
return this.value + utmValues;
}
});
});
});
input{width:100%;}
答案 0 :(得分:0)
您missed
添加else part
else { return this.value; }
注意: ?utm
不存在意味着它会进入if语句,如果已returning
return this.value + utmValues;
?utm
存在not returning
任何与其成为empty
if (inputValue.indexOf('?utm') == -1){
return this.value + utmValues;
}else{
return this.value;
^^^^^^^^^^^^^^^^^^
}
$(".set_utm_value_input").click(function () {
var utmValues = $('#set-input-utm').val();
$("input[class='links']").each(function() {
$(this).val(function() {
var inputValue = this.value;
if (inputValue.indexOf('?utm') == -1){
return this.value + utmValues;
}else{
return this.value;
}
});
});
});
&#13;
input{width:100%;}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input class="form-control" id="set-input-utm" type="text" value="?utm_">
<button class="set_utm_value_input" style="margin-top: 25px;margin-left: -32px;">Set UTM to Links</button>
<input type="text" class="links" value="http://www.link.com/path/">
<input type="text" class="links" value="http://www.link2.com/path/?utm_source=facebook&utm_medium=partner">
<input type="text" class="links" value="http://www.link3.com/path/?utm_source=facebook&utm_medium=partner">
&#13;