Привет, у меня есть несколько входов для телефонных номеров, они используют один и тот же класс и тот же метод show/hide techinque. Я хочу, чтобы очистить содержимое номера телефона в поле ввода, то есть с именем класса input_tel.
Однако кажется, что все входы, которые, как я предполагаю, ясны, потому что я использую следующую строку; input:text
, когда я помещаю в класс, он просто не работает.
Мой JS и некоторые из моих html ниже или видят jsFiddle:
$(".contact_numbers").on('click', '.clearnumber', function () {
$(this).siblings('input:text').val('');
});
<div class="telephonetwo contact_numbers">
<input type="text" class="smallinput contactpagelabel" name="faxname" size="10" value="Fax">
<input type="checkbox" class="contact_no" name="showfax" value="Y">
<input type="text" name="fax" size="30" value="016128 13456" class="input_tel">
<a href="#" class="remove">Hide</a> <a href="#" class="clearnumber">Clear #</a>
</div>
Я хочу иметь возможность очистить ближайший input_tel, а не все из них, так как их несколько чисел.
заранее спасибо
заменить:
$(this).siblings('input:text').val('');
с
$(this).siblings('input:text').closest('.input_tel').val('');
Как насчет таргетинга на класс input_tel
?
$(".contact_numbers").on('click', '.clearnumber', function () {
$(this).parent().parent().find('input.input_tel').val('');
});
Предполагая, что никакие другие поля ввода не имеют этого класса input_tel
.
parent()
а затем нацелитесь на класс, как мое новое редактирование?
Это должно сделать это...
$(".contact_numbers").on('click', function () {
$(".input_tel").val('');
});
Безопасный способ очистки полей ввода с помощью jquery
$.fn.noText = function() {/*use the jquery prototype technology to make a chainable clear field method*/
if(this.is('input')){ /*check to c if you the element type is an input*/
this.val('');/*clear the input field*/
}return this;/*means it is chainable*/
};
$('input').noText();