Korzystam z wtyczki symbolu zastępczego jQuery (https://github.com/danielstocks/jQuery-Placeholder). Muszę zmienić tekst zastępczy ze zmianą menu rozwijanego. Ale to się nie zmienia. Oto kod:
$(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();
}
});
});
Mój 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>
Czy ktoś może to rozgryźć?
jquery
jquery-plugins
Krishh
źródło
źródło
Odpowiedzi:
Skopiuj i wklej ten kod do pliku js, to zmieni cały tekst zastępczy z całej witryny.
źródło
if
-statement, ponieważ zwykle chcesz ustawić symbol zastępczy bez względu na to, czy element wejściowy ma wartość, czy nie. W przeciwnym razie nie zostanie wyświetlony symbol zastępczy, jeśli użytkownik opróżni element wejściowy.Aby zaktualizować symbol zastępczy według identyfikatora, możesz użyć następującego kodu:
źródło
po prostu możesz użyć
gdzie, jeśli zmienna jest ciągiem, możesz użyć jak wyżej, jeśli jest zmienna, zastąp ją nazwą „zmienną” bez podwójnych cudzysłowów.
np .:
$("#youtextboxid").attr("placeholder", variable);
zadziała.źródło
Wtyczka nie wygląda bardzo solidnie.
.placeholder()
Ponowne wywołanie spowoduje utworzenie nowejPlaceholder
instancji, podczas gdy zdarzenia będą nadal powiązane ze starą.Patrząc na kod, wygląda na to, że możesz:
EDYTOWAĆ
placeholder
jest atrybutem HTML5 , zgadnij kto go nie obsługuje?Twoja wtyczka naprawdę nie pomaga ci przezwyciężyć faktu, że IE jej nie obsługuje, więc chociaż moje rozwiązanie działa, twoja wtyczka nie. Dlaczego nie znajdziesz takiego.
źródło
$(this).val()
jest ciągiem. UżyjparseInt($(this).val(), 10)
lub sprawdź „1”. Dziesięć ma oznaczać bazę 10.Lub
Inne wtyczki
ori zwróciło moją uwagę, że wtyczka, której używasz, nie usuwa awarii HTML IEs.
Spróbuj czegoś takiego: http://archive.plugins.jquery.com/project/input-placeholder
źródło
$('#serMemdd').change(function () {
przykład działania dynamicznego symbolu zastępczego przy użyciu Javascript i Jquery http://jsfiddle.net/ogk2L14n/1/
źródło
zmień tekst zastępczy za pomocą jquery
Spróbuj tego
źródło
Przeniesienie pierwszego wiersza na dół robi to dla mnie: http://jsfiddle.net/tcloninger/SEmNX/
źródło
Jeśli dane wejściowe znajdują się w div, możesz spróbować:
źródło
Spróbuj tego
źródło
to działało dla mnie:
ale teraz to nie działa:
źródło
źródło
źródło