首页 > 解决方案 > 动态更改项目值在 Spring 表单中选择

问题描述

我在我的项目中使用下一个 Spring 表单标签:

<form:select path="eps.eps_id_eps" id="entidad" style="width: 400px;">
    <form:options items="${EPSs}" />
</form:select>

我需要更改“项目”值,以便可以将另一个数据显示到相同的选择表单标记,即动态地将“项目=”$ {EPSs}“”更改为“项目=”$ {foo}“”

是否有任何模式可以更改 js/jquery 中的项目值或通过服务器端的 ModelAttribute 标记?

标签: javaspring-mvcjsp

解决方案


第 1 步:定义一个控制器来接收 foo 列表

@RestController
public class FooController{
   @GetMapping("/foo")
   public List<String> getFooItems(@RequestParam String eps){
      return Arrays.asList("foo1","foo2");
   }
}

第 2 步:定义一个 jquery 来监听 eps 选择的变化

$(document).ready(function(){

   $("#entidad").change(function(){
    var eps = $(this).val();
    $.ajax({
        url: '/foo?eps='+eps,
        type: 'GET',
        success:function(response){
            var len = response.length;
            //clear previous selection, eps_select is the select you want to complete
            $("#eps_select").empty();
            for( var i = 0; i<len; i++){
                var foo = response[i];                    
                $("#eps_select").append("<option value='"+foo+"'>"+foo+"</option>");
            }
          }
        });
     });
 });

推荐阅读