Estou usando um plug-in de marcador de posição do jQuery (https://github.com/danielstocks/jQuery-Placeholder). Preciso alterar o texto do espaço reservado com a alteração no menu suspenso. Mas isso não está mudando. Aqui está o 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();
}
});
});
Meu 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>
Alguém pode descobrir isso?
jquery
jquery-plugins
Krishh
fonte
fonte
Respostas:
Copie e cole esse código no seu arquivo js. Isso mudará todo o texto do espaço reservado no site inteiro.
fonte
if
declaração, pois geralmente você deseja definir o espaço reservado, independentemente de o elemento de entrada ter um valor ou não. Caso contrário, nenhum espaço reservado será mostrado se o usuário esvaziar o elemento de entrada.Você pode usar o seguinte código para atualizar um espaço reservado por ID:
fonte
simplesmente você pode usar
onde, se variável for string, você poderá usar como acima, se for variável, substitua-o pelo nome como "variable" sem aspas duplas.
por exemplo:
$("#youtextboxid").attr("placeholder", variable);
funcionará.fonte
O plugin não parece muito robusto. Se você ligar
.placeholder()
novamente, ele cria uma novaPlaceholder
instância enquanto os eventos ainda estão vinculados à antiga.Olhando para o código, parece que você poderia fazer:
EDITAR
placeholder
é um atributo HTML5 , adivinhe quem não o suporta?Seu plug-in não parece realmente ajudá-lo a superar o fato de que o IE não o suporta; portanto, enquanto minha solução funciona, seu plug-in não. Por que você não encontra um que encontre.
fonte
$(this).val()
é uma string. UseparseInt($(this).val(), 10)
ou verifique '1'. O dez é para denotar a base 10.Ou
Outros plugins
A ori trouxe à minha atenção que o plug-in que você está usando não supera a falha de HTML do IEs.
Tente algo assim: http://archive.plugins.jquery.com/project/input-placeholder
fonte
$('#serMemdd').change(function () {
exemplo funcional de espaço reservado dinâmico usando Javascript e Jquery http://jsfiddle.net/ogk2L14n/1/
fonte
alterar o texto do espaço reservado usando jquery
tente isso
fonte
Mover sua primeira linha para o fundo faz isso por mim: http://jsfiddle.net/tcloninger/SEmNX/
fonte
Se a entrada estiver dentro da div, você pode tentar o seguinte:
fonte
tente isso
fonte
isso funcionou para mim:
mas agora isso não funciona:
fonte
fonte
fonte