2016-07-14 9 views
0

Ich habe einen seclet2 Drop-Down mit zwei Optionen`Select2` Alternate anderer Eingang Platzhalter auf val ändert

<select id="ddlsearch"> 
    <option value="0">Translated Search</option> 
    <option value="1" selected="">Exact Search</option> 
</select> 

Es scheint, den Platzhalter richtig für die erste if Anweisung zu ändern, aber ich kann nicht scheinen, meine andere Erklärung zu bekommen arbeiten . Was genau mache ich hier falsch?

function selectPlaceholder() { 
    var reportLevel = "0", 
     $select = $("#ddlsearch") 

    if (reportLevel == "0") { 
     $select.on("change", function(e) { 
      $('#txtkey').attr('placeholder', 'asd') 
     }); 
    } else { 
     $select.on("change", function(e) { 
      $('#txtkey').attr('placeholder', '123') 
     }); 
    } 
}; 
selectPlaceholder() 

Antwort

2

Sie müssen etwas tun ...

$("#ddlsearch").on("change", function(e) { 
 
    if ("0" == this.value) { 
 
    $('#txtkey').attr('placeholder', 'asd') 
 
    } else { 
 
    $('#txtkey').attr('placeholder', 'fgh') 
 
    } 
 
}).change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<h4> Your select </h4> 
 

 
<select id="ddlsearch"> 
 
    <option value="0">Translated Search</option> 
 
    <option value="1" selected="">Exact Search</option> 
 
</select> 
 

 
<h4> Your text input somewhere </h4> 
 
<input id='txtkey'>

Die if Anweisung sollte in der change Ereignishandler befinden und Platzhalter sollte basierend auf dem Wert der geändert werden die Auswahl.

+0

Anstelle von 'this.value' kann man auch' $ (this) .val() 'verwenden, beide ergeben die gleichen Ergebnisse ;-) – shramee

+0

Derp, ich könnte schwören, ich habe versucht, dass es die Endung .change war Das hat mich überzeugt. Vielen Dank! – NooBskie

+0

Gern geschehen ;-) Bitte akzeptieren Sie die Antwort, wenn Sie damit zufrieden sind :-) – shramee

Verwandte Themen