2016-05-08 43 views
0

我想爲代理創建一個註冊表單,但是一個代理應該能夠註冊他們想要的代理數量。如何將javascript的枝條代碼傳遞給twig文件?

用戶完整領域(姓名等),他們必須回答這個問題: 你想添加新的代理嗎? - >外觀添加代碼:

   <div class="form-group"> 
       <label for="new_agent">Would you like add new agent:</label> 
       <div class="radio new_agent_div"> 
        <label class="radio-inline"> 
         <input type="radio" name="new_agent" id="new_agent" value="1"> Yes 
        </label> 
        <label class="radio-inline"> 
         <input type="radio" name="new_agent" id="new_agent2" value="0" > No 
        </label> 
       </div> 
      </div> 

<div class="add-agents"></div> 

如果他們檢查是的,我運行jQuery代碼:

jQuery(document).ready(function($) { 

    $(".new_agent_div").change(function(){ 


     var html = [ 
      '    <div class="form-group">', 
      '     <label for="name">First Name</label>', 
      '     <input type="text" class="form-control" name="name" id="name" value="{{app.request.get("name")}}" placeholder="">', 
      '     {% if validation["name"][0] is defined %}', 
      '      <span class="help-block">', 
      '       <span class="glyphicon glyphicon-exclamation-sign"></span>', 
      '       {{validation["name"][0]}}', 
      '      </span>', 
      '     {% endif %}', 
      '    </div>' 
     ].join(''); 

     if ($('#new_agent').is(':checked')) { 
      $('.add-agents').html(html); 
     } 

     if ($('#new_agent2').is(':checked')) { 
      $('.add-agents').html(''); 
     } 

    });  
}); 

後應再次顯示,如果增加新的用戶...

什麼是問題?當我點擊'是'時,我收到了Twig標籤作爲字符串。請看: twig tags

我該怎麼辦?也許有些過濾器或類似的東西?

+2

你在哪裏把你的javascript代碼?你必須把它放在樹枝文件xxx.html.twig中 – Soufiene

回答

1

爲什麼你沒有默認放置html,並在radio值發生變化時隱藏/顯示?

<div class="form-group"> 
    <label for="new_agent">Would you like add new agent:</label> 
    <div class="radio new_agent_div"> 
     <label class="radio-inline"> 
      <input type="radio" name="new_agent" id="new_agent" value="1"> Yes 
     </label> 
     <label class="radio-inline"> 
      <input type="radio" name="new_agent" id="new_agent2" value="0" > No 
     </label> 
    </div> 
</div> 

<div class="add-agents" style="display:none;"> 
    <div class="form-group"> 
     <label for="name">First Name</label> 
     <input type="text" class="form-control" name="name" id="name" value="{{app.request.get("name")}}" placeholder=""> 
     {% if validation["name"][0] is defined %} 
      <span class="help-block"> 
      <span class="glyphicon glyphicon-exclamation-sign"></span> 
       {{validation["name"][0]}} 
      </span> 
     {% endif %} 
    </div> 
</div> 

然後JS的貌似

jQuery(document).ready(function($) { 

    $(".new_agent_div").change(function(){ 

     if ($('#new_agent').is(':checked')) { 
      $('.add-agents').css("display" , "block"); 
     } 

     if ($('#new_agent2').is(':checked')) { 
      $('.add-agents').css("display" , "none"); 
     } 

    });  
}); 
相關問題