Все,
Я могу сбросить все свои элементы формы с помощью следующего Синтаксиса JQuery:
('#myform')[0].reset();
Как я могу изменить это для исключения сброса "избранного поля" значения?
Спасибо
Всем...
функция сброса не все устанавливает в '' (пустая строка)
она сбрасывает на свои начальные значения ... (сохраненные в атрибуте значения, или выбранной опции и т.д... )
Если вы хотите сохранить функции сброса по умолчанию, то вы должны
<выберите>
пример:
<script type="text/javascript">
$(document).ready(
function(){
$("#resetbutton").click(
function(){
var values = [];
var selected = $("select").each(
function(){
values.push( $(this).val());
});
this.form.reset();
for (i=0;i<selected.length;i++)
$(selected[i]).val(values[i]);
});
}
);
</script>
Это не jQuery, это родной javascript. [0] выводит фактический элемент DOM, так что это то же самое, что:
document.getElementById('myform').reset();
reset()
- встроенная реализация браузера, которая сбрасывает всю форму. Если вам нужно сбросить отдельные типы форм, попробуйте что-нибудь вроде:
$('#myform :text').val('');
Вы можете увидеть все селекторы форм здесь: http://docs.jquery.com/Selectors
Вы можете выполнить сброс подделок, установив значения в пустую строку и сбросив флажки, используя ответ Дэвида (или этот более полный ). Вы также можете попробовать сохранить значение каждого элемента выбора перед сбросом формы, а затем восстановить значения после:
var myform = $('#myform');
var selects = $('select', myform);
// Store each current value
selects.each(function() {
$(this).data('previous', $(this).val());
});
myform[0].reset();
// Restore the values
selects.each(function() {
$(this).val($(this).data('previous'));
});