// 回显roleId var roleId = "${roleId}"; if (roleId != '' && roleId != null) { $("#roleId option[value='" + roleId + "']").attr("selected", true); }
时间: 2024-04-05 12:32:15 浏览: 19
这段代码的作用是将后端传递过来的roleId回显到前端页面的下拉框中。
首先通过EL表达式 `${roleId}` 获取后端传递过来的roleId值。然后进行判断,如果roleId不为空或者不为null,就通过jQuery的attr()方法将对应值的option标签的selected属性设置为true,即默认选中该选项。
具体来说,`$("#roleId option[value='" + roleId + "']")`选中了下拉框中`value`值为roleId的option标签,然后通过`.attr("selected", true)`将该option标签的`selected`属性设置为true,从而默认选中该选项。
这样就实现了将后端传递过来的roleId值回显到前端页面的下拉框中。
相关问题
<script> $(function (){ $.ajax({ type:"post", url:"${pageContext.request.contextPath}/user/getRoleList", dataType:"json", success:function (data){ var option=""; $.each(data,function (i,n){ option+="<option value="+n.id+">"+n.name+"</option>" }) $("#roleId").append(option); } }) }) </script>这部分代码帮我加一个if判断,要求可以实现下拉框的数据回显
假设你需要判断回显的值为 `roleId`,可以在 `$.each` 中添加判断条件:
```
<script>
$(function () {
$.ajax({
type: "post",
url: "${pageContext.request.contextPath}/user/getRoleList",
dataType: "json",
success: function (data) {
var option = "";
$.each(data, function (i, n) {
option += "<option value=" + n.id + ">" + n.name + "</option>";
});
$("#roleId").append(option);
// 回显roleId
var roleId = "${roleId}";
if (roleId != '' && roleId != null) {
$("#roleId option[value='" + roleId + "']").attr("selected", true);
}
}
})
})
</script>
```
其中 `${roleId}` 可以根据具体的后台代码进行修改,保证能够获取到回显的值。
layui 这样写 var html = $('#show_div').prop('innerHTML'); 为啥回显不了值
如果你使用 `$('#show_div').prop('innerHTML')` 获取元素的 HTML 内容,那么得到的是一个字符串类型的值。如果要将这个值回显到页面上,可以通过以下两种方式实现:
1. 设置元素的 `innerHTML` 属性
```javascript
var html = $('#show_div').prop('innerHTML');
$('#echo_div').prop('innerHTML', html);
```
上面的代码将获取的 HTML 字符串设置到另一个元素的 `innerHTML` 属性上,从而实现了回显。
2. 创建一个新的元素,并将 HTML 字符串作为其内容插入到页面中
```javascript
var html = $('#show_div').prop('innerHTML');
var newDiv = $('<div>').html(html);
$('#echo_div').append(newDiv);
```
上面的代码中,首先创建了一个新的 `div` 元素,并将获取的 HTML 字符串设置为其内容,然后将这个新元素插入到页面中。这样也可以实现回显效果。