关于html⾥th:with的介绍使⽤
thymeleaf th:with 的使⽤及传参
估计有不少新⼿进公司后看⼤佬们的代码,看不明⽩什么意思,(说的是我⾃⼰)就包括了⼀个前端页⾯通过th:with属性来发送请求⼀段代码
例:
/**⽗类风险分类*/
<select id="riskType" name="riskstyleId"
type="text"          onChange="changeQualifications()"
th:with="type=${@parentRiskType()}">
<option value="">请选择风险标准分类</option>
<option th:each="EhsRiskDangerType : ${type}"
th:text="${EhsRiskDangerType.riskDangerTypeName}"
th:value="${EhsRiskDangerType.riskDangerTypeId}"></option>
</select>
/**⼦类风险分类*/
<select class="layui-select riskSonTypeSelect"
id="riskSonTypeSelect"  name="riskBranchFactoryId">
<option value="">请先选择风险⼦分类</option>
</select>
这段代码可以清楚的看到下拉选中分别具有Id,name,type,th:with,onChange()⼏个属性,前⾯⼏个不⽤多说,这个th:with属性是⽤来⼲嘛呢,它可以在页⾯加载的时候发送请求,发送请求的路径就是在你的后台代码⾥这样⼀个类。例:
@Service("type")
public class TypeService {
@Autowired
private SysTypeService iSysTypeService;
/**
* ⽗类隐患类型
* @return
*/
public List<EhsRiskDangerType> getparentRiskType()
{
return iSysTypeService.selectparentByRiskType();
}
}
从⽽给select下拉选循环赋值,⽽其中的onChange()事件,就是为了关联另外⼀个下拉选准备的,⼀旦下拉选的值发⽣改变,触发事件,来根据Id发送ajax请求,获取数据,说的再多不如来段代码:
/*给⼦风险分类赋值*/
function changeQualifications(){
var url;
var riskId=$("#riskType").val();
url = prefix + "/getDeptSelectData?parentId="+ $("#riskType").val();
$.ajax({
cache: true,
type: "GET",
url: url,
async: false,thymeleaf用法
success: function (data) {
利⽤each 遍历
/* $.each(data, function(key, value) {
$('#riskSonTypeSelect').empty();
var riskDangerTypeId=value.riskDangerTypeId;
var riskDangerTypeName=value.riskDangerTypeName;
$('#riskSonTypeSelect').append('<option id="'+riskDangerTypeId+'">'+riskDangerTypeName+'</option>');  }); */
利⽤for循环遍历
$('#riskSonTypeSelect').empty();
for(var i=0;i<data.length;i++){
var riskDangerTypeId = data[i].riskDangerTypeId;
var riskDangerTypeName=data[i].riskDangerTypeName;
$('#riskSonTypeSelect').append
('<optionvalue="'+riskDangerTypeId+'">'+riskDangerTypeName+'</option>');
};
$('#riskSonTypeSelect').selectpicker('refresh');
$('#riskSonTypeSelect').selectpicker('render');
}
});
}
这样既完成了th:with发送请求,⼜关联了下拉选,美哉美哉。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。