gpt4 book ai didi

javascript - Thymeleaf + Javascript 选择选项更改

转载 作者:行者123 更新时间:2023-11-30 14:19:35 25 4
gpt4 key购买 nike

我想选择一个元素列表,基于选择我调用一个函数 api 给我一个数据列表,插入第二个选择。

调用正常,我尝试提醒结果,但我需要更改第二次选择的值,但我失败了。我正在使用 select2

这是我的 THYMELEAF 页面:

   <form id="updateD" data-parsley-validate class="rounded px-2 py-2 mt-3" th:action="@{/ditta/upd}" th:method="POST" th:object="${ditta}">

<div class="row" th:if="*{codice==null or codice.isEmpty()}">
<div th:replace="~{/tags/input :: inputNorm(indirizzo, *{indirizzo}, text, true, '')}"></div>
<div th:replace="~{/tags/select :: selectValue(city, *{city}, ${cities}, false)}"></div>
<div th:replace="~{/tags/select :: selectValue(zip, *{zipCode}, ${zips}, false)}"></div>
</div>
</form>

JS代码:

<script type="text/javascript" th:inline="javascript">
/*<![CDATA[*/
var token = $('#_csrf').attr('content');
var header = $('#_csrf_header').attr('content');

$(function(){

$('#city').change(function(){
handleComune($('#city').val());
});

$('.sel2').select2({
theme: "bootstrap"
});
});

function handleComune(city){
$.ajax({
type: 'GET',
url:[[ @{'/api/extractZip?city='}]]+city,
beforeSend: function(xhr) {
xhr.setRequestHeader(header, token);
},
success : function(data) {
$('#zips').val(data);
alert(data);
}
});
}

/*]]>*/
</script>

根据城市的选择,我提取了邮政编码列表。

选择的片段如下:

    <div th:fragment="selectValue(name, selected, values, required)" class="col form-group" th:switch="${required}">

<label th:text="${required} ? #{${name}}+'*' : #{${name}}" th:for="${name}" class="control-label"></label>

<div class="col form-group">
<select th:name="${name}" th:id="${name}" class="form-control sel2" th:required="${required}">
<option value=""></option>
<th:block th:each="v : ${values}">
<option th:value="${v}" th:text="${v}" th:selected="${selected} eq ${v}"></option>
</th:block>
</select>
</div>

</div>

$('#zips').val(data); 不变。怎么了?

最佳答案

如果您从 Controller 返回 Thymeleaf 片段,那么您将获得一个 html 代码。因此,val() 将不起作用。您需要使用 append(data)。现在我没有看到您的 Controller 或元素 $('#zips') 所在的位置,所以我假设这就是您要发送的内容。

如果您要发送实体列表,则需要使用 $.each(data, function() {//Do something }); 将每个实体添加为选项您的选择。

关于javascript - Thymeleaf + Javascript 选择选项更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52985253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com