Estoy usando un complemento de marcador de posición jQuery (https://github.com/danielstocks/jQuery-Placeholder). Necesito cambiar el texto del marcador de posición con el cambio en el menú desplegable. Pero no está cambiando. Aquí está el código:
$(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();
}
});
});
Mi 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>
¿Puede alguien resolver esto?
jquery
jquery-plugins
Krishh
fuente
fuente
Respuestas:
Copie y pegue este código en su archivo js, esto cambiará todo el texto de marcador de posición de todo el sitio.
fuente
if
declaración, ya que generalmente desea establecer el marcador de posición sin importar si el elemento de entrada tiene un valor o no. De lo contrario, no se muestra ningún marcador de posición si el usuario vacía el elemento de entrada.Puede usar el siguiente código para actualizar un marcador de posición por id:
fuente
simplemente puedes usar
donde, si la variable es una cadena, puede usarla como se indica arriba, si es variable, reemplácela con el nombre como "variable" sin comillas dobles.
Por ejemplo:
$("#youtextboxid").attr("placeholder", variable);
funcionará.fuente
El complemento no se ve muy robusto. Si
.placeholder()
vuelve a llamar , crea una nuevaPlaceholder
instancia mientras los eventos aún están vinculados a la anterior.Mirando el código, parece que podrías hacer:
EDITAR
placeholder
es un atributo HTML5 , ¿ adivina quién no lo admite?Su complemento realmente no parece ayudarlo a superar el hecho de que IE no lo admite, por lo que mientras mi solución funciona, su complemento no lo hace. ¿Por qué no encuentras uno que lo haga?
fuente
$(this).val()
es una cuerda UseparseInt($(this).val(), 10)
o verifique '1'. El diez es denotar la base 10.O
Otros complementos
ori me ha llamado la atención de que el complemento que está utilizando no supera la falla de IEs HTML.
Pruebe algo como esto: http://archive.plugins.jquery.com/project/input-placeholder
fuente
$('#serMemdd').change(function () {
ejemplo de trabajo de marcador de posición dinámico usando Javascript y Jquery http://jsfiddle.net/ogk2L14n/1/
fuente
cambiar el texto del marcador de posición usando jquery
prueba esto
fuente
Mover su primera línea hacia abajo lo hace por mí: http://jsfiddle.net/tcloninger/SEmNX/
fuente
Si la entrada está dentro del div, puede intentar esto:
fuente
prueba esto
fuente
esto funcionó para mí:
pero ahora esto no funciona:
fuente
fuente
fuente