2017-07-21 18 views
1

コンボボックスを別のコンボボックスに基づいてどのように更新すればいいですか?このコードはありますが、動作しません。おかげコンボボックスjquery onchangeイベント

<select name="marca" id="marca" onchange="javascript:carregaModelos(this.value)" > 
    <option th:each="marca : ${marcas}" 
     th:value="${marca.idmarca}" 
     th:text="${marca.nomemarca}">Marca</option> 
</select> 

    <select name="modelo" id="modelo"> 
    <option th:each="modelo : ${modelos}" 
     th:value="${idmodelo}" 
     th:text="${nomemodelo}">Modelo</option> 
    </select> 


<script type="text/javascript">  
    function carregaModelos(marca) { 
var opcao = $(this).('#marca option') 
console.log(opcao); 
jQuery("#modelo").load("pesquisa/" + opcao); 
return false; 


} 

この

@RequestMapping("/pesquisa/{idmarca}") 
    public String pesquisa(ModelMap model, @PathVariable Long idmarca) { 
     model.addAttribute("modelo", service.obterModelosByMarcas(idmarca)); 
     return "index"; 
+0

両方のコンボボックスの最終的な内容を理解するのに役立つHTML出力を提供します。 –

+0

私はちょうどコンボボックスを選択した結果を印刷する必要があります。私はもっとコードを持っていません。例:最初のコンボボックスから選択すると、これは2番目のオプションを更新し、2番目を選択した後に結果を出力します。 – dinis

答えて

0

は、要素をターゲットとする値と属性を追加します。

data-target-sync="#targetElementId"

値は、ターゲット要素のIDに含まれているjQueryのセレクタので#ある

$(document).ready(function() { 
 

 
    $('[data-target-sync]').change(function() { 
 

 
    var cur = $(this); 
 

 
    $(cur.attr('data-target-sync')).val(cur.val()); 
 

 
    }); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<select name="marca" id="marca" data-target-sync="#modelo"> 
 
    <option value="a">A</option> 
 
    <option value="b">B</option> 
 
    <option value="c">C</option> 
 

 

 
</select> 
 

 
<select name="modelo" data-target-sync="#marca" id="modelo"> 
 
    <option value="a">A</option> 
 
    <option value="b">B</option> 
 
    <option value="c">C</option> 
 

 
</select>