2010-01-04 4 views

ответ

10

Всем ..

функция сброса не устанавливает все, чтобы «» (пустую строку)

это сбросить их начальные значения .. (хранится в атрибуте значение, или выбрать опцию и т.д ..)

Если вы хотите сохранить функции по сбросу по умолчанию, то вы должны

  1. получить все элементы <select>
  2. получить их текущие выбранные значения
  3. сбросить форму, как вы в настоящее время делают
  4. сброс выбранного

пример:

<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> 
6

Это не JQuery, это родной JavaScript. [0] выявляет фактический DOM элемент, так что это то же самое, как:

document.getElementById('myform').reset(); 

reset() встроенный в реализации браузера, который сбрасывает всю форму. Если вам необходимо сбросить отдельные типы форм, попробовать что-то вроде:

$('#myform :text').val(''); 

Вы можете увидеть все формы селекторов здесь: http://docs.jquery.com/Selectors

0

Вы можете сделать поддельный сброс путем установки значений в пустую строку и сбросе с помощью ответа Дэвида (или этого more complete one). Можно также попробовать хранить значение каждого выбранного элемента перед сбросом формы, а затем восстановить значения после:

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')); 
}); 
0

По какой-то причине ошибка Дэвида о правильном ответе на ошибку в моих javascript Google Chrome. Он говорит:

Uncaught TypeError: Свойство 'Сброс' объекта # не является функцией

...так что я решил попробовать немного другое решение:

  • Дайте родные кнопки сброса браузера атрибуты "скрытый" и установить "ID":

<input id="resetbutton" type="reset" style="visibility:hidden;" name="reset" value="reset" />

  • Инициация JQuery "нажмите кнопку" событие на кнопке сброса из щелчка ссылки:

<a href="#" onclick="$('#resetbutton').click();">Reset</a>

Смежные вопросы