2012-11-19 100 views
0

我有下面的代码运行etape.html启动页面,它允许插入HTML元素与迭代n html块。动态插入新的html元素

对于第一次迭代一切都很好,会出现,但在第二次迭代没有出现在div块。

次要考虑的是在按下执行“Suivant”按钮,允许重新加载页面etape.html

有人有任何想法?

index=0;  
$("#etape").live('pageshow', function() { 

    if(index>5) 
    { 
    //Go to other Page 
    } 

    switch(id_type_champ) 
    { 
     case 1: 
      $('#header-right-container').append(''+nom_champ+'<input type="text" id='+Id+' > ').trigger("create"); 
      alert("case 1"); 
      break; 
     case 2: 
      $('#header-right-container').append(''+nom_champ+'<input type="text" id='+Id+' > ').trigger("create"); 
      alert("case 2"); 
      break; 
     case 3: 
      $('#header-right-container').append(''+nom_champ+'<input type="date" id='+Id+' OnClick="aff_date(\'' + Id + '\')">').trigger("create"); 
      alert("case 3"); 
      break; 
     case 4: 
      $('#header-right-container').append(''+nom_champ+'<select id='+Id+' ><option value=0></option></select>').trigger("create"); 
      alert("case 4"); 
      break; 
     case 5: 
      $('#header-right-container').append(''+nom_champ+'<select id='+Id+' ><option value=0> </option></select> ').trigger("create"); 
      alert("case 5"); 
      break; 
     case 6: 
      $('#header-right-container').append(''+nom_champ+'<select id='+Id+' ><option value=0> </option></select> ').trigger("create"); 
      alert("case 6"); 
      break; 
     case 7: 
      $('#header-right-container').append(''+nom_champ+'<select id='+Id+' ><option value=0> </option></select> ').trigger("create"); 
      alert("case 7"); 
      break; 
     case 8: 
      $('#header-right-container').append(''+nom_champ+'<select id='+Id+' ><option value=0> </option></select> ').trigger("create"); 
      alert("case 8"); 
      break; 
     case 9: 
      $('#header-right-container').append(''+nom_champ+'<select id='+Id+' ><option value=0> </option></select> ').trigger("create"); 
      alert("case 1"); 
      break; 
     default: 
      $('#header-right-container').append(''+nom_champ+'<select id='+Id+' ><option value=0> </option></select> ').trigger("create"); 
      alert("case 1"); 
      break; 
    } 

    $('#header-left-container').append('<a href="etape.html" data-role="button" OnClick="DoAction()" data-icon="arrow-r" data-iconpos="right" data-theme="a" id="suivant">Suivant</a> ').trigger("create"); 
} 

function DoAction() 
{ 
    //$('#'+id+'').val() ;  //GET text 
    //$('#'+id+'').val('AAAAAA'); //SET 
    index++; 
    alert('Button has been clicked avec un index = a '+ index); 
} 
+0

这是否第二次迭代发生在何时?它的代码在哪里? –

+0

不使用'onclick',这是SOOOO坏的,它只是破坏什么jQuery是一回事,...... – Val

+0

@val好吧,我该怎么用呢? –

回答

0

我看不到代码,但我会检查您是否未添加具有相同ID的多个HTML元素。 Id需要是唯一的。

<select id='+Id+' >

是ID一个是在第二次迭代重置计数器?在第二次迭代运行之前,第一次迭代是否存储在某处,而不是被删除?使用萤火虫和类似的东西来检查。

+0

我想我应该改变$(“#etape”)。live('pageshow',function() –

+0

你在哪里设置Id? – James

+0

var Id = liste_id_ch_par_etape [j]; –