Проблема в удалении динамически генерируемых переключателей - PullRequest
0 голосов
/ 08 марта 2012

Я создаю радиокнопки динамически для 2 страниц асинхронно, то есть у меня есть форма, в которой пользователь должен войти в опрос и сгенерировать множество радиокнопок в качестве параметров для ответа на вопрос (первая страница), когда пользователь закончил ввод данныхему нужно просмотреть сводку того, что он ввел (вторую страницу), сейчас это работает ясно, но когда пользователь возвращается на первую страницу (для редактирования своих опций), если он удалил какую-либо из своих опций, это неудалены со второй страницы, см. мой HTML и код скрипта здесь http://jsfiddle.net/Mnqc7/6 спасибо

<!--First page-->

 <div data-role="header">
 </div><!-- /header -->

    <div data-role="content"> 
    <div data-role="collapsible" data-inset="true">
    <h1>AddPoll</h1>
   <div data-role="fieldcontain" >
   <label for="name">&nbsp;&nbsp;<strong>Question:</strong></label>
<input type="text" name="name" id="question" value=""  /><br>

AddDelete

      <!--Generated radio buttond goes here-->
    </div>
    </form>
    </div>
   <a href="#approve" id="publish" data-role="button" data-inline="true" data-transition="flip">Preview</a>
     </div><!-- /content -->
   <!-- </fieldset>-->
    <div data-role="footer" data-position="fixed" data-id="ew-footer" class="ui-splitview-hidden">
    </div><!-- /footer -->
        </div><!-- /page -->
        <!--Second page-->
        <div data-role="page" id="approve" data-theme="a" class="page" >
      <div data-role="header">
    </div><!-- /header -->

    <div data-role="content"> 
     <h1 id="headTitle"></h1>
<div id="Inserthere" data-role="controlgroup">
    <!--Generated radio buttond goes here--> 

</div>
<a href="#admin" id="" data-role="button" data-inline="true" data-transition="flip">Back</a>
    </div><!-- /content -->
    <div data-role="footer" data-position="fixed" data-id="ew-footer" class="ui-splitview-hidden">
     </div><!-- /footer -->
  </div><!-- /page -->           

Сценарий:

function createRadioElementForFirstPage(elem, label, checked) {
var id = 'option1_' + label;
   $('#after').append($('<input />', {
    'type': 'radio',
    'fieldset':'group',
    'name': 'option1',
    'id': id,
    'data-role': 'controlgroup',
    'data-theme':'b',
    'value': '1'}));
  $('#after').append('<label for="' + id + '">'+ label + '</label>').trigger('create');}
  function createRadioFortSecondPage(elem, label, checked) {
  var id = 'option1_' + label;
   $('#Inserthere').append($('<input />', {
    'type': 'radio',
    'fieldset':'group',
    'name': 'option1',
    'id': id,
    'data-role': 'controlgroup',
    'data-theme':'b',
    'value': '1'}));
 $('#Inserthere').append('<label for="' + id + '">'+ label + '</label>').trigger('create');}

function createRadioFortSecondPage(elem, label, checked) {
var id = 'option1_' + label;
   $('#Inserthere').append($('<input />', {
    'type': 'radio',
    'fieldset':'group',
    'name': 'option1',
    'id': id,
    'data-role': 'controlgroup',
    'data-theme':'b',
    'value': '1'}));
$('#Inserthere').append('<label for="' + id + '">'+ label + '</label>').trigger('create');}


 function insertIntoPreviewPage(){
     var labels = [];
      $('#after input[type=radio]').each(function() {
     labels.push($('label[for='+$(this).attr('id')+']').text());

    createRadioFortSecondPage('#approve',labels[i],true);
    });}

$( '#admin' ).live( 'pageinit',function(event){
$('#AddButton').click(function(){
var x = document.getElementById('option').value;

 }}); 
$('#RemoveButton').click(function(){


var id = $('#after').children().children("input[checked='checked']").get(0).id;
$('#after').children().children("input[checked='checked']").parent().remove()
approve.$("#" + id).parent().remove(); }}); 

$('#publish').click(function(){

    var y=document.getElementById('question').value
    var form='<value="' + y + '"'+'/>'
    var labels = [];    
$('#after input[type=radio]').each(function() {
     labels.push($('label[for='+$(this).attr('id')+']').text());
  });
    for(var i=0;i<labels.length;i++){
        form+='\n<opt value="' + labels[i] + '"'+'/>'
    createRadioFortSecondPage('#approve',labels[i],true);    
    }

    alert(form);
   document.getElementById('headTitle').innerHTML=y;
     });

...