有没有人知道如何使用jquery删除输入占位符?
我想要做的是,如果其中一个inputbox
得到了一个值...所有的inputbox占位符都将被移除....有没有人知道该怎么做?
<input type="text" name="name" placeholder="1.)">
<input type="text" name="age" placeholder="2.)">
<input type="text" name="address" placeholder="3.)">
答案 0 :(得分:18)
应该工作:
$(':input').removeAttr('placeholder');
答案 1 :(得分:3)
相反,做一个焦点,这将在那一刻自动隐藏占位符:
$(element).focus();
答案 2 :(得分:2)
var txtbox = $('input[type="text"]');
txtbox.change(function () {
txtbox.removeAttr('placeholder');
});
答案 3 :(得分:2)
获取所有输入,并附加一个更改事件处理程序,在事件处理程序中获取所有输入的值,将值连接在一起,如果它仍然没有,则没有任何输入具有值,如果它有长度,至少有一个输入具有值,您可以删除占位符属性:
var inputs = $('input[type="text"]');
inputs.on('change', function() {
if ( $.map(inputs, function(el) { return el.value; }).join('').length )
inputs.removeAttr('placeholder');
});
答案 4 :(得分:0)
$('input[name="name"]').removeProp('placeholder');
答案 5 :(得分:0)
您可以在keyup
上将占位符更改为空字符串。
$("input[type=text]").keyup(function() {
$("input[type=text]").attr("placeholder","")
});
答案 6 :(得分:0)
这样的事情会起作用吗?未经测试,但它应该在第一次更改任何输入时删除占位符属性。
var inputs = $('input');
inputs.one('change', function(){
inputs.removeAttr('placeholder');
});
答案 7 :(得分:0)
我已经更进了一步,万一你也想要这个。此代码将删除所有文本输入中的占位符文本(如果其中任何一个具有值),但如果您删除所有值,则会将占位符文本放回。可能没有必要,但有它......
var $inputs = $("input:text");
$inputs.on("change", function() {
if ($.map($inputs, function(el) { if (el.value) return o.value; }).length) {
$inputs.each(function() {
this._placeholder = this.placeholder;
$(this).removeAttr("placeholder");
});
} else {
$inputs.each(function() {
this.placeholder = this._placeholder;
});
}
});
<强> jsfiddle example... 强>
答案 8 :(得分:0)
如果您想将其重置回原始的占位符,而不是完全删除它,请先尝试清除val(),然后添加attr()
$('#name')。val('');
$('#name')。attr('placeholder','无论您以前的占位符是什么');
答案 9 :(得分:-1)
尝试:
if ($(input).val()) {
$(input).attr("placeholder", "")
}