2017-07-23 2 views
-1

In meiner Anwendung habe ich ein Formular mit einigen Text Inputs. Der Wert dieser Eingaben ist immer ein Link.Bedingt anhängende Werte

Einige meiner Links Inputs enthalten bereits ?utm.....

Wenn Benutzer Links hinzufügen, ich habe ein input Feld, wo sie ihre utm und klicken Sie auf Set UTM Verbindungen Schaltfläche einfügen können, und es wird anhängen/fügen ihre utm zu allen von der Link Inputs.

Was ich erreichen möchte ist, wenn auf Set UTM Verbindungen, nur Links klicken, die ?utm.... nicht enthalten, hängen Sie/fügen Sie den utm ihrem Wert.

Ich habe es mit dem Schnipsel unten versucht. Was ich habe jetzt, fügt die utm zu alle die Links:

$(".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&amp;utm_medium=partner"> 
 
<input type="text" class="links" value="http://www.link2.com/path/?utm_source=facebook&amp;utm_medium=partner"> 
 
<input type="text" class="links" value="http://www.link3.com/path/?utm_source=facebook&amp;utm_medium=partner">

ich es auch unter dem Code-Schnipsel versucht haben. Das macht fast den Job, aber das einzige, was falsch ist, ist, dass, wenn value keine utm enthält, es löscht/leert den gesamten Eingang/Wert.

$(".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%;}
<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&amp;utm_medium=partner"> 
 
    <input type="text" class="links" value="http://www.link3.com/path/?utm_source=facebook&amp;utm_medium=partner"> 
 

Antwort

0

Sie missed hinzufügen else partelse { return this.value; }

Hinweis:?utm nicht vorhanden ist, bedeutet dies in der if-Anweisung Gos und returning diese return this.value + utmValues; wenn bereits ?utm Ihr existiert not returning alles, was ist warum ist es geworden 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; 
 
     } 
 
    }); 
 
    }); 
 
});
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/"> 
 
    <input type="text" class="links" value="http://www.link2.com/path/?utm_source=facebook&amp;utm_medium=partner"> 
 
    <input type="text" class="links" value="http://www.link3.com/path/?utm_source=facebook&amp;utm_medium=partner">

Verwandte Themen