Я использую плагин-заполнитель jQuery (https://github.com/danielstocks/jQuery-Placeholder). Мне нужно изменить текст заполнителя с изменением в выпадающем меню. Но это не меняется. Вот код:
$(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();
}
});
});
Мой 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>
Кто-нибудь может понять это?
jquery
jquery-plugins
Krishh
источник
источник
Ответы:
Скопируйте и вставьте этот код в ваш файл js, это изменит весь текст заполнителя со всего сайта.
источник
if
-statement, так как обычно вы хотите установить заполнитель независимо от того, имеет ли элемент input значение или нет. В противном случае заполнитель не отображается, если пользователь очищает элемент ввода.Вы можете использовать следующий код для обновления заполнителя по идентификатору:
источник
просто вы можете использовать
где, если переменная является строкой, вы можете использовать, как указано выше, если она является переменной, заменить ее на имя типа «переменная» без двойных кавычек.
например:
$("#youtextboxid").attr("placeholder", variable);
это будет работать.источник
Плагин не выглядит очень надежным. Если вы позвоните
.placeholder()
снова, он создаст новыйPlaceholder
экземпляр, в то время как события все еще связаны со старым.Глядя на код, похоже, что вы могли бы сделать:
РЕДАКТИРОВАТЬ
placeholder
такое атрибут HTML5 , угадайте, кто его не поддерживает?Ваш плагин на самом деле не помогает вам преодолеть тот факт, что IE не поддерживает его, поэтому, пока мое решение работает, ваш плагин не поддерживает. Почему бы вам не найти тот, который делает.
источник
$(this).val()
это строка ИспользуйтеparseInt($(this).val(), 10)
или отметьте «1». Десять обозначает базу 10.Или
Другие плагины
ori обратил мое внимание на то, что используемый вами плагин не преодолевает ошибку HTML в IE.
Попробуйте что-то вроде этого: http://archive.plugins.jquery.com/project/input-placeholder
источник
$('#serMemdd').change(function () {
рабочий пример динамического заполнителя с использованием Javascript и Jquery http://jsfiddle.net/ogk2L14n/1/
источник
изменить заполнитель текста с помощью jquery
попробуй это
источник
Перемещение вашей первой строки вниз делает это для меня: http://jsfiddle.net/tcloninger/SEmNX/
источник
Если вход находится внутри div, вы можете попробовать это:
источник
попробуй это
источник
это сработало для меня:
но теперь это не работает:
источник
источник
источник