2016-08-12 3 views
0

Я работаю над тем, чтобы показать и скрыть форму с помощью jQuery и переключателей. Работает шоу и скрыть часть. В моей форме возникает вопрос, буду ли я участвовать в вечеринке. Когда вы нажимаете на переключатель «да», я могу видеть все личные поля данных, которые я должен заполнить (имя, адрес и т. Д.), Когда я нажимаю «нет», все эти поля скрыты. Теперь, когда форма загружается, кажется, что мой jQuery не сохраняет значение переключателя, и персональные поля будут показаны независимо от да или нет. Что я могу изменить в коде, поэтому, когда форма загружается, я сохраняю выбранную опцию переключателя?Значения радио кнопки не сохраняются при перезагрузке формы jQuery

Я создал скрипку, чтобы имитировать эту проблему: https://jsfiddle.net/eo9ydcbn/2/

accepted = $('input[name*="accepted"]'); 

accepted.change(function() { 
    var input_accepted = $('input[name*="accepted"]:checked').val(); 
    console.log(input_accepted); 
    if (input_accepted == '0') { 
     $('#registerForm').collapse('hide'); 
    } 
    else 
    { 
     $('#registerForm').collapse('show'); 
    } 
}).trigger('change'); 

Все помощь очень ценится!

+0

Необходимо создать функцию сохранения самостоятельно! jQuery не сделает этого для вас *, как волшебство *. – eisbehr

+0

Благодарим вас за ответ. Я новичок, когда дело доходит до jQuery, так что вы можете подробно рассказать о том, что мне нужно делать? – user2314339

+0

Ваша скрипка не работает, теперь это: https://jsfiddle.net/eo9ydcbn/3/ – Hackerman

ответ

0

Я понял это,

Вместо использования .collapse, чтобы показать и скрыть форму , я использовал .show и .hide. Теперь он сохраняет настройки моей радио кнопки

accepted = $('input[name*="accepted"]'); 

accepted.change(function() { 
    var input_accepted = $('input[name*="accepted"]:checked').val(); 
    console.log(input_accepted); 
    if (input_accepted == '0') { 
     $('#registerForm').hide('slow'); 
    } 
    else 
    { 
     $('#registerForm').show('slow'); 
    } 
    }).trigger('change'); 
0

эта скрипка поможет вам, вы увидите, мотыгу, чтобы сделать изменения основаны на радио: https://jsfiddle.net/maky/pahrthy0/

$(document).ready(function() { 
    $('input[type="radio"]').click(function() { 
    if ($(this).attr("value") == "red") { 
     $(".box").not(".red").hide(); 
     $(".red").show(); 
    } 
    if ($(this).attr("value") == "green") { 
     $(".box").not(".green").hide(); 
     $(".green").show(); 
    } 
    if ($(this).attr("value") == "blue") { 
     $(".box").not(".blue").hide(); 
     $(".blue").show(); 
    } 
    }); 
}); 
+0

Thx для помощи, но я понял это. Вместо краха я использовал скрыть и показать. Теперь он работает :) Я обновлю этот вопрос – user2314339