下拉菜单中的变化dist_nm应该反映在文本框中。 有人可以帮忙吗?
<input type="radio" name="gender" value="male"> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<input type="radio" name="gender" value="other"> Other
答案 0 :(得分:0)
1。)我认为您的th:selected =“ ...”属性没有任何作用。
2。)试试这个js代码(使用jquery):
function selectedDistName()
{
let txt = $("#editDistName option:selected").text();
console.log(txt);
$("#dist_nm").val(txt);
}
如果不使用jquery,请发表评论。
答案 1 :(得分:0)
最后,我找到了一种通过从Dropdown传递ID来通过表获取名称的方法。
HTML-表单
<div class="form-group">
<select id='DCode' name='DCode'>
<option th:each="dist : ${districts}"
th:value="${dist.dist_id}"
th:text="${dropDownItem.dist_nm}" />
</select>
</div>
<div class="form-group">
<div id="textBox"></div>
</div>
存储库-通过ID获取名称
@Query("SELECT name FROM Sample WHERE id =:ID ORDER BY id")
public String getName(@Param("ID") int code);
AjaxController
@RequestMapping(value="Ajax",method={ RequestMethod.GET, RequestMethod.POST })
public @ResponseBody String editName(@RequestParam(value="ID") int d_Code ) {
String name = rep.getName(d_Code);
return name;
}
JS文件/ 传递ID以从表中获取名称 /
$(document).on("change", "#DCode", function() {
try {
var d_id= $("#DCode option:selected").val();
var params = {ID : d_id};
$.ajax({
type:'POST',
url:'/Ajax',
data:params,
success:function(responseJson){
var jSON_res = JSON.stringify(responseJson);
var d_Name = jSON_res.replace(/\"/g, "" ); //remove double quote from string
var text_val = "<input type='text' id ='new_name' name ='new_name' " +
" value =' "+d_Name+" ' />";
$("#textBox").empty().append(text_val);
}//success function
});
} catch(err) {
alert("Exception ::-- "+err);
}
});
我对Spring Boot还是很陌生,这是我尝试的方法之一。 让我知道,如果有更好的方法来获得结果。 谢谢