2014-02-12 4 views
1

Я в данный момент запущен Bootstrap with https://github.com/kflorence/jquery-deserialize и модальный. Я использую вызов AJAX для захвата формы из php-файла и добавления ее в форму HTML, десериализации данных, а затем открытия модального. Однако при работе с радиокнопкой я не могу использовать отдельный сценарий jQuery, чтобы проверить, проверено ли радио. Он всегда показывает, как ложный при проверке сПроверить динамически выбранную радиокнопку

console.log($('#travel_only2').is(':checked')); 

Однако, если я пытаюсь вывести сам селектор с

console.log($('#travel_only2')); 

, то он будет отображаться как проверенные. Как я могу ждать, когда радио будет проверено, или есть другой вариант? Благодаря!

UPDATE: также я просто попытался использовать $('#travel_only2').is(':checked') в самой консоли, и он показывает true.

UPDATE: Я покончила с десериализации плагин и попытался это:

$.each(this, function(name, val){ 
var $el = $('[name="'+name+'"]'), 
type = $el.attr('type'); 

switch(type){ 
    case 'checkbox': 
     $el.attr('checked', 'checked'); 
    break; 
    case 'radio': 
     $el.filter('[value="'+val+'"]').attr('checked', 'checked'); 
    break; 
    default: 
     $el.val(val); 
} 

}); К сожалению, с помощью console.log (document.getElementById ('travel_only2'). Checked); показывает false, а затем вводит в консоль, как только все загружается, показывает document.getElementById ('travel_only2'). checked true

LAST UPDATE: Кажется, существует задержка, так как вызов ajax к шаблону включал скрипт. Вместо этого я использовал $ .getScript в своем главном скрипте, чтобы вызвать скрипт шаблона, и это сработало отлично.

ответ

0

Это просто чистый Javascript, попробуйте следующее:

if(document.getElementById('travel_only2').checked) { 
     // radio button is checked 
    } 

EDIT

Так что не работает, попробуйте это:

if($('#travel_only2').prop('checked')){ 
//radio button is check 
} 

скрипку показывающую функции я использую ,

http://jsfiddle.net/bgLYL/

+0

Это не работает. console.log (document.getElementById ('travel_only2') проверено.); показал ложь. – ashin999

+0

@ ashin999 дать мое редактирование. Это странное поведение. Vanilla js следует вернуть true, если он действительно проверен, чтобы он не мог быть установлен. – Thunda

+0

также ложный. Есть ли способ дождаться завершения десериализации, или это должно быть реализовано в плагине? Потому что я думаю, что он есть один, но я не могу получить к нему доступ, так как я работаю в отдельном файле js. – ashin999

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