选择控制器

时间:2015-09-02 13:22:27

标签: twitter-bootstrap spring-mvc jquery-select2 thymeleaf

我有一个带有一些引导属性的标签,我想在按下编辑链接时选择一个特殊选项,但是现在它不起作用,其他字段有效,但选择总是得到默认选项。

选择

<div class="form-group">
    <select id="categoryField" form="formPerson" class="form-control select2me" placeholder="Categor&iacute;a" th:field="*{category}">                              
        <option value="-1">Categor&iacute;a</option>
        <option th:each="cat : ${categorias}" th:value="${cat.id}" th:text="${cat.name}"></option>                                                              
    </select>
</div>

脚本

function editJury(year, category, juryType, accepted, acceptDate, notes, index){
    $('#categoryField option[value="'+category+'"]');
    $('#yearField').val(year);
    $('#juryTypeField').val(juryType);
    $('#dateField').val(acceptDate);
    if(accepted==1){
        $('#radio6').val(accepted);
    }
    if(accepted==0){
        $('#radio7').val(accepted);
    }
    if(accepted==null){
        $('#radio8').val(accepted);
    }
    $('#notesField').val(notes);
    $('#indexField').val(index);

}

我尝试this但是对我不起作用,我认为这是因为当我检查最终的html bootstrap转换div中的select标签时...

编辑:我完全改变了如何编辑它,现在我想最好不要使用这么多JQuery,所以现在我有2个问题,首先,我可以得到选中的值正确(始终保持默认值-1)并且在页面加载时不会打开模态对话框。

现在,当你点击这个

<a class="edit" href="#modal-jury-form" th:href="@{/person/edit_jury/__${status.index}__}" data-toggle="modal">Editar </a>

启动控制器方法:

@RequestMapping(value = "person/edit_jury/{index}", method = RequestMethod.GET)
public String editJury(@PathVariable String index, @ModelAttribute("person") PersonForm personForm,
            RedirectAttributes ra, Model model) {

    Jury jury = personForm.getJuries().get(Integer.parseInt(index));

    personForm.setJuryAux(new JuryForm(jury));

    model.addAttribute("person", personForm);

    return "person/new";
}

然后返回页面但模态不会自动加载...但如果单击“新建”按钮,模态将加载我传递的数据,但加载默认选项的标记除外。

2 个答案:

答案 0 :(得分:1)

您可以根据要选择的选项的值设置选择列表的值。

$(function() {
  $("#colours").val("blue");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
    <select id="colours">                        
        <option value="black">Black</option>
        <option value="white">White</option>
        <option value="green">Green</option>
        <option value="blue">Blue</option>
    </select>
</div>

答案 1 :(得分:0)

最终解决方案是:

$("#idComboField").select2('data',  id : '-1',  text : 'Cargo');