ajaxを使用して、別の選択ドロップダウンに基づいて、選択ドロップダウンを作成しようとしています。ポートフォリオが入力された 1 つの選択があり、2 番目の選択は空です。最初の選択ボックスからオプションを選択すると。選択したポートフォリオ ID を送信する ajax 関数を呼び出します。ajax メソッドで、選択した ID のグループを見つけます。見つけたグループを 2 番目の選択に入力するにはどうすればよいですか。私のコードは
2 つの選択を含むフォーム
<form name="portfolios" action="{{ path('v2_pm_portfolio_switch') }}" method="post" >
<select id="portfolios" name="portfolio" style="width: 200px; height:25px;">
<option selected="selected" value="default">Select Portfolio</option>
{% for portfolio in portfolios %}
<option get-groups="{{ path('v2_pm_patents_getgroups') }}" value={{ portfolio.id }}>{{ portfolio.portfolioName }}</option>
{% endfor %}
</select><br/><br/>
<select id="portfolio-groups" name="portfolio-groups" style="width: 200px; height:25px;">
<option selected="selected" value="default">Select Portfolio Group</option>
</select><br/>
</form>
JS
<script>
$(document).ready(function(){
$('#portfolios').change(function() {
var id = $("#portfolios").val();
var url = $('option:selected', this).attr("get-groups");
var data = {PID:id};
$.ajax({
type: "POST",
data: data,
url:url,
cache: false,
success: function(data) {
//want to populate the 2nd select box here
}
});
});
});
</script>
選択したポートフォリオのグループを見つけるコントローラー メソッド
public function getgroupsAction(Request $request){
if ($request->isXmlHttpRequest()) {
$id = $request->get("PID");
$em = $this->getDoctrine()->getEntityManager();
$portfolio_groups = $em->getRepository('MunichInnovationGroupPatentBundle:PmPatentgroups')
->getpatentgroups($id);
return $portfolio_groups;
}
}
ポートフォリオ グループを送信して 2 番目の選択を入力する方法を教えてください。
前もって感謝します