2014-03-07 26 views
-2

我有以下兩個HTML表:jQuery的不工作的動態控制

<table id="Schools" align="center" valign="top"> 
     <tr> 
     <td align="center"> 
      <table id="SchoolControls" cellpadding="10" cellspacing="10"> 
      </table> 
      <table id="ControlsSch" cellpadding="10" cellspacing="10"> 
      </table> 
      <input id="AddSch" type="button" value="Add" /> 
     </td> 
     </tr> 
</table> 

,我使用這些表用於創建它的動態控制和即低於

<% @user_education.each do |user_edu| %> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("#AddSch").click(function() { 
       var field = $("#field").val(); 
       var DDL_fromProfession = "<input type='text' style='width:50px' name='ParametersFromSch' value='<%= user_edu.SchoolFrom %>' />"; 

       var DDL_ToProfession = "<input type='text' style='width:50px' name='ParametersToSch' value='<%= user_edu.SchoolTo %>' />"; 


       var newRow1 = "<tr><td align='center' style='font-size: large; color: #212121;' >" 
       + DDL_fromProfession + " to " + DDL_ToProfession + "</td></tr>" 
       + "<tr><td align='center' style='font-size:large;color:#212121;' >" 
       newRow1 += "<input type='button' class='btn_rmvsch' value='Remove'/></td></tr>"; 


       var input1 = "<input name='parametersSch' id='field' type='text' value='<%= user_edu.SchoolName %>' />" 
       var newRow = "<tr><td align='center' style='font-size: x-large; color: #212121;' >" + input1 + "</td></tr>"; 
       $('#ControlsSch').append(newRow); 
       $('#ControlsSch').append(newRow1); 
      }); 

      $('#ControlsSch').on('click', '.btn_rmvsch', function() { 
       var index = $(this).closest('tr').index() + 2 
       $('#ControlsSch tr:nth-child(n+' + (index - 3) + ')').remove(); 
       return false; 
      }); 
      $('#<%= SchoolControls.ClientID %>').on('click', '.btn_rmvsch1', function() { 
       var index = $(this).closest('tr').index() + 2 
       $('#<%=SchoolControls.ClientID %> tr:nth-child(n+' + (index - 3) +   ')').remove(); 
       return false; 
      }); 
     }); 
    </script> 
<% end %> 

但我得到錯誤在這條線上的下面的錯誤$('#<%= SchoolControls.ClientID %>').on('click', '.btn_rmvsch1', function()

NameError in Settings#new

未初始化的常量::的ActionView :: CompiledTemplates SchoolControls

Kidle幫我解決這個問題,等待你的答覆。由於

回答

0

你需要改變:

$('#<%= SchoolControls.ClientID %>') 

到:

$('#SchoolControls') 

,所以你需要使用:

$('#SchoolControls').on('click', '.btn_rmvsch1', function() { 

和:

$('#SchoolControls tr:nth-child(n+' + (index - 3) + ')').remove(); 
0

您已經委派事件正常,但選擇似乎是錯的,試試這個:的

$('#SchoolControls') 

代替:

$('#<%= SchoolControls.ClientID %>')