1.表单必选项
2.弹框页面皮肤颜色设置
layer.alert("该质检规则下有版本已绑定质检评分,请先操作质检评分后再删除该质检规则!!!", { icon: 6, title: "提示",
offset: "auto", skin: 'layui-layer-molv', anim: 5 });
效果:
3.表单字段按钮必须添加type="button"
4.select下拉框的获取值和回显值
#获取所有下拉框和单选框的值
$.ajax({
url : baseUrlVic+'config/modelNew/goModelType.do',
type : 'post',
dataType : 'json',
success : function(info){
$("#queryType").html("");
$("#inputType").html("");
var optionStr='<option value=""></option>';
var modelTypeButton="";
var indexNum=0;
for(var key in info){
optionStr+='<option value="'+key+'">'+info[key]+'</option>';
if(indexNum==0){
modelTypeButton+='<input type="radio" name="inputType" value="'+key+'" checked="" title="'+info[key]+'" >';
indexNum=1;
}else{
modelTypeButton+='<input type="radio" name="inputType" value="'+key+'" title="'+info[key]+'" >';
}
}
$("#queryType").html(optionStr);
// $("#inputType").html(modelTypeButton);
$("#inputType").html(optionStr);
form.render();
}
})
#获取当前行下拉框值
var inputType = $('select[name="inputType"] option:selected').val(); //获取下拉框的值
#回显当前行下拉框值
$("#inputType option[value='"+data.modelType+"']").prop("selected","selected");//下拉框回显
****若上面下拉框不回显值,使用下面这种方式:
****下拉框或单选框回显值后禁止修改
#下拉框回显后禁止修改,ruleClass22是select的id
$("#ruleClass22").attr("disabled","disabled").addClass('layui-btn-disbaled layui-disabled')
#单选框回显后禁止修改,itemType2是type="radio"的name值
$("input[name='itemType2']").attr("disabled","disabled");
$("input[name='itemType2']").next().addClass('layui-radio-disbaled layui-disabled');
5.下拉框添加按钮新增值后重新渲染此下拉框
效果: #inputType 是下拉框的id
6.xmselect下拉框的回显和下拉框监听控制
/**
* 质检计划xmSelect下拉框
*/
var demo1;
function selectRender(upOrDown) {
demo1 = xmSelect.render({
el: '#demo1',
filterable: true,
remoteSearch: true,
direction: 'down',
toolbar: {
show: true,
},
remoteMethod: function (val, cb, show) {
$.ajax({
dateType: "json",
type: 'POST',
url: baseUrlVic + "vic/bench/getPlanNameXm.do",
data: {
upOrDown: upOrDown,
keyword: val,
jsessionId: tokenVicTop
},
success: function (result) {
// var result = JSON.parse(data).data;
// addOptions(result,'#planName');
let obj = [];
for (let i = 0; i < result.length; i++) {
obj.push({
name: result[i].name,
value: result[i].value,
});
}
cb(obj);
},
error: function () {
cb([])
}
});
},
data: []
});
}
//打开页面回显开启的计划,默认回显全部,通过监听上下线下拉框回显上线或下线的计划
//目前打开选择计划弹框重置为默认
demo1.setValue( [] );
var keywordTips = layer.open({
type: 1,
title: '修改对应的计划',
skin: 'layui-layer-demo animated slideInRight', //加上边框
area: ['1000px', '470px'], //宽高
shadeClose: false, //开启遮罩关闭
anim: -1,//关闭自带动画
closeBtn: false,
isOutAnim: false, //关闭退场动画
resize: false, //不允许拉伸
move: false, //禁止拖拽
content: $('#queryPlanDiv'),
success: function(layero, index) {
var mask = $(".layui-layer-shade");
mask.appendTo(layero.parent());
}
});
//根据公司取开启的计划
if (dataCheck.planIds!=null && dataCheck.planIds!="") {//开启指定计划
let split = dataCheck.planIds.split(",");
let split1 = dataCheck.planNames.split(",");
let allPlan = [];
//默认显示全部计划
var select = 'dd[lay-value= 2 ]';
$('#upOrDown').siblings("div.layui-form-select").find('dl').find(select).click();
selectRender();
for (let i =0; i<split.length; i++) {
let xmPlanId = split[i];
let xmPlanName = split1[i];
console.log(xmPlanId,xmPlanName);
allPlan.push({name: split1[i], value: split[i],selected: true});
}
demo1.setValue(allPlan);
//监听上线下线按钮回显对应计划
form.on('select(upOrDown)', function (data) {
//每次选择上下线时设置数组为空,否则重复回显
let values1 = [];
let values0 = [];
if (data.value ==1) {//上线
selectRender(1);
// $('#down').removeAttr("disabled");
// $('#up').attr("disabled",true);
form.render('select');
for(let i =0; i<split.length; i++) {
console.log(split1[i]);
console.log(split[i]);
$.ajax({
type: "post",
url: baseUrlVic + 'authorityOrgSet/bindPlanState.do',
dataType: 'json',
data: {
jsessionId: tokenVicTop,
'planId': split[i]
},
success: function (res) {
if (res.state == 1 && res.code == 0) {//回显开启的上线计划
values1.push({name: split1[i], value: split[i], selected: true});
demo1.setValue(values1);
}
},
error: function (a, b, c) {
layer.msg("查询异常,请联系管理员!")
}
});
}
}else if(data.value ==0) {//下线
selectRender(0);
// $('#up').removeAttr("disabled");
// $('#down').attr("disabled",true);
form.render('select');
for(let i = 0; i < split.length; i++) {
console.log(split1[i]);
console.log(split[i]);
$.ajax({
type: "post",
url: baseUrlVic + 'authorityOrgSet/bindPlanState.do',
dataType: 'json',
data: {
jsessionId: tokenVicTop,
'planId': split[i]
},
success: function (res) {
if (res.state == 0 && res.code == 0) {//回显开启的上线计划
values0.push({name: split1[i], value: split[i], selected: true});
demo1.setValue(values0);
}
},
error: function (a, b, c) {
layer.msg("查询异常,请联系管理员!")
}
});
}
}else if(data.value ==2) {//全部
selectRender();
for (let i =0; i<split.length; i++) {
let xmPlanId = split[i];
let xmPlanName = split1[i];
console.log(xmPlanId,xmPlanName);
values1.push({name: split1[i], value: split[i],selected: true});
}
demo1.setValue(values1);
}
});
}else if (dataCheck.planIds==null || dataCheck.planIds=="") {//无开启计划时
//默认显示全部计划
var selectAll = 'dd[lay-value= 2 ]';
$('#upOrDown').siblings("div.layui-form-select").find('dl').find(selectAll).click();
selectRender();
demo1.setValue([]);
form.on('select(upOrDown)', function (data) {
//根据按钮查看不同状态的质检计划下拉框
if (data.value==0) {//下线
selectRender(0);
demo1.setValue([]);
}else if(data.value ==1) {//上线
selectRender(1);
demo1.setValue([]);
}else if (data.value ==2) {//全部
selectRender();
demo1.setValue([]);
}
});
}
7.用IDEA打开HTML文件端口号是63342而不是8080
原因:是自己点的是idea右上角小圈圈的方式打开浏览器,那样所有的链接都是63342,这是idea的打开浏览器端口的默认设置,路径是file->settings->build->debugger->build-in-server->port,解决办法是手动在页面输入ip:端口号,或者在此路径修改
8.<textarea>标签文本框输入空格,回显时即为换行
<div class="layui-form-item layui-form-text">
<label class="layui-form-label" style="width: 100px;"><span style="color:red;">*</span>规则说明</label>
<div class="layui-input-block">
<textarea onblur="hideNum('pNumDesc')" onclick="getNum(this,'pNumDesc','numDesc')" onkeyup="getNum(this,'pNumDesc','numDesc')" maxlength="256" placeholder="请输入内容" id="modelExplain" style="width:90%" class="layui-textarea" name="desc"></textarea>
<p id="pNumDesc" style="position:absolute;left:750px;bottom:0px;color:rgba(0,0,0,0.5);display:none;font-size:10px"><span id="numDesc" style="font-size:10px">0</span>/256</p>
</div>
</div>
#注意:replace只能替换一个,全部替换使用replaceAll
js:
$('#modelExplain').val(data.modelDesc.replaceAll(' ','\r\n'));
9.hive中不能使用delete删除指定条件的数据,使用insert overwrite
当我们想要删除Hive表中部分符合条件的数据时:
发现Hive表删除数据不能使用DELETE FROM table_name 中SQL语句
#解决方案:其中xxx是你需要保留的数据的查询条件。
insert overwrite table t_table1 select * from t_table1 where XXXX;