Ich verwende ein jQuery-Platzhalter-Plugin (https://github.com/danielstocks/jQuery-Placeholder). Ich muss den Platzhaltertext mit der Änderung im Dropdown-Menü ändern. Aber es ändert sich nicht. Hier ist der Code:
$(function () {
$('input[placeholder], textarea[placeholder]').placeholder();
$('#serMemdd').change(function () {
var k = $(this).val();
if (k == 1) {
$("#serMemtb").attr("placeholder", "Type a name (Lastname, Firstname)").placeholder();
}
else if (k == 2) {
$("#serMemtb").attr("placeholder", "Type an ID").placeholder();
}
else if (k == 3) {
$("#serMemtb").attr("placeholder", "Type a Location").placeholder();
}
});
});
Mein HTML:
<div class="filterbox">
<select name="ddselect" id="serMemdd">
<option value="1" selected="selected">Search by Name</option>
<option value="2">Search by ID</option>
<option value="3">Search by Location</option>
</select>
<input id="serMemtb" type="text" style="width: 490px" placeholder="Type a name (Lastname, Firstname)" />
<input id="seMemBut" type="button" value="Search" />
</div>
Kann jemand das herausfinden?
jquery
jquery-plugins
Krishh
quelle
quelle
Antworten:
Kopieren Sie diesen Code und fügen Sie ihn in Ihre js-Datei ein. Dadurch wird der gesamte Platzhaltertext der gesamten Site geändert.
quelle
if
-statement weglassen , da Sie normalerweise den Platzhalter festlegen möchten, unabhängig davon, ob das Eingabeelement einen Wert hat oder nicht. Andernfalls wird kein Platzhalter angezeigt, wenn der Benutzer das Eingabeelement leert.Sie können den folgenden Code verwenden, um einen Platzhalter anhand der ID zu aktualisieren:
quelle
einfach können Sie verwenden
Wenn eine Variable eine Zeichenfolge ist, können Sie sie wie oben verwenden. Wenn es sich um eine Variable handelt, ersetzen Sie sie durch den Namen "Variable" ohne doppelte Anführungszeichen.
zB:
$("#youtextboxid").attr("placeholder", variable);
es wird funktionieren.quelle
Das Plugin sieht nicht sehr robust aus. Wenn Sie
.placeholder()
erneut aufrufen , wird eine neuePlaceholder
Instanz erstellt, während die Ereignisse noch an die alte gebunden sind.Wenn Sie sich den Code ansehen, sehen Sie so aus, als könnten Sie Folgendes tun:
BEARBEITEN
placeholder
ist ein HTML5-Attribut , raten Sie mal, wer es nicht unterstützt?Ihr Plugin scheint Ihnen nicht wirklich dabei zu helfen, die Tatsache zu überwinden, dass der IE es nicht unterstützt. Während meine Lösung funktioniert, funktioniert Ihr Plugin nicht. Warum findest du keinen, der das tut?
quelle
$(this).val()
ist eine Zeichenfolge. Verwenden SieparseInt($(this).val(), 10)
oder überprüfen Sie für '1'. Die Zehn soll die Basis 10 bezeichnen.Oder
Andere Plugins
ori hat mich darauf aufmerksam gemacht, dass das von Ihnen verwendete Plugin den HTML-Fehler von IEs nicht überwindet.
Versuchen Sie Folgendes: http://archive.plugins.jquery.com/project/input-placeholder
quelle
$('#serMemdd').change(function () {
Arbeitsbeispiel für einen dynamischen Platzhalter mit Javascript und Jquery http://jsfiddle.net/ogk2L14n/1/
quelle
Platzhaltertext mit jquery ändern
Versuche dies
quelle
Wenn Sie Ihre erste Zeile nach unten verschieben, ist dies für mich erledigt: http://jsfiddle.net/tcloninger/SEmNX/
quelle
Wenn sich die Eingabe innerhalb des div befindet, können Sie Folgendes versuchen:
quelle
Versuche dies
quelle
das hat bei mir funktioniert:
aber jetzt funktioniert das nicht:
quelle
quelle
quelle