2012-01-25 3 views
3

У меня есть флажок и хочу, чтобы получить очень щётка значения или другими слова, получить значение по умолчанию так же, как мы получаем значение по умолчанию для текстового поля следующим образом:JQuery Javascript получить начальное значение CheckBox в

document.getElementById("myTextBoxID").defaultValue 

Я хочу сделать что-то подобное либо с помощью JQuery/JS

document.getElementById("myChkBoxID").defaultValue 

Так что, если я получаю значение галочкой с сервера в самый первый раз ... Теперь, когда пользователь изменяет флажок ... я должен есть способ восстановить его до самого начального состояния

Можно

ответ

0

Используйте defaultChecked.

defaultChecked и defaultValue являются defined in DOM level 2 следующим образом:

defaultChecked типа булевой

Если тип имеет значение «радио» или «флажок», это представляет собой HTML-проверяется атрибут элемента. Значение этого атрибута не изменяется, если изменяется состояние соответствующего элемента управления формы в интерактивном пользовательском агенте. См. Определение атрибута в HTML 4.01.

DefaultValue типа DOMString

Когда атрибут типа элемента имеет значение «текст», «файл» или «пароль», это представляет атрибут HTML значение элемента. Значение этого атрибута не изменяется, если изменяется содержимое соответствующего элемента управления формы в интерактивном пользовательском агенте, . См. Определение атрибута значения в HTML 4.01.

Обратите внимание, что флажок имеет атрибут значения, которое можно изменить, но это, как правило, не то, что вы хотели бы, и может привести к труднодоступному найти ошибки ...

Альтернативы:

Поскольку вы позволяете серверу установить начальное значение, вы можете включить скрытое поле ввода и позволить серверу установить на нем начальное состояние.

Или вы можете reset вся форма.

+0

Я не хочу использовать скрытые поля ... возможно ли это использовать javascript/jquery? Резус, если у меня есть 1000 флажков с разными значениями ... мне понадобится 1000 скрытых полей – abbas

+0

См. Обновленный ответ ('defaultChecked') –

+0

Точно, что мне нужно .... спасибо ... grat man !!! thanks..Ill признают, когда мне разрешено это делать. – abbas

0

Просто сохраните данные при загрузке страницы:

$(function() { 
    $(':input').each(function() { 
    $(this).data('default', $(this).val()); 
    }); 
}); 

Теперь для любого <input /> элемента, вы можете получить его значение по умолчанию легко:

$('#yourInputElement').data('default'); 

Когда ты хотите сбросить элемент до состояния по умолчанию, просто позвоните val() еще раз:

$('#yourInputElement').val($('#yourInputElement').data('default')); 
+0

Но мне это нужно для флажка не для текстового поля ?? – abbas

+0

Это имеет смысл. Лемм это делает. – Blender

+0

Готово. Проверьте мой ответ еще раз. – Blender

0

Вам нужно как-то сохранить значение по умолчанию. В этом случае, я думаю, атрибут данных будет приемлемым.

//onload 
$('#textboxID, #checkboxID').each(function(){ 
    $(this).data('default', $(this).val()); 
}); 

//on reset 
$('#textboxID, #checkboxID').each(function(){ 
    $(this).val($(this).data('default')); 
}); 
Смежные вопросы