先简单说一下我遇到的问题:任务要求是在一个列表上增加一个按钮,选中这条表单上的某一条信息,然后弹出一个文字录入框,点确定保存。
首先我使用的是消息框prompt。
$.messager.prompt({ width:300, // 窗口的宽度 height:200,//窗口的高度 title:"prompt", // 显示在头部面板上的标题文本。 msg:" please enter your name” , function(r){ $.ajax({ url:"",//接口 type:"POST", data:r, dataType:"json", success:function(e){ console.log(e) } }) });
// 当然也可以修改输入框的宽度和高度,只需要选中.messager-input标签
.panel-body .messager-input {
width: 360px !important;
height: 100px !important;
margin: 0 auto;
}
但是遇到了拦路虎,任务要求是文字录入框可以多行输入,但是prompt只能单行插入,希望哪位大神看到告诉我一下哈。
然后我舍弃了这种方法,使用了easyui中的对话框,基本代码如下:
function invalid() { var missionId = $("#missionDateGrid").jqGrid('getGridParam', 'selrow'); if (!missionId) { alert('请选择一条信息'); return; } if (missionId) { $('#win').form('clear') $("#win").dialog({ title: "备注", width: 450, height: 250, top: 150, closed: false, cache: false, modal: true, }); $('#reconfirm').unbind('click'); $("#reconfirm").bind("click",function () { var data = $("#input1").val(); if (!data) { alert('请输入备注信息:') } else { datas = { missionID: missionId, content: data }; $("#win").dialog({ closed: true, }); $.ajax({ "url": "/api/Member/AddMissionReminder", "type": "POST", "data": datas, "dataType": "json", "success": function (e) { if (e.error == '') { alert("添加备注成功") } else { alert(e) } } }) loadAddRemarksInfo() } }) } }
在这段代码里面有两个有点小坑的地方:
1.当你点击一次以后,看着很正常,然而点击两次后,会弹出两次提示,随着次数的增多,弹出次数依次增加。
解决方法:使用了以下代码:
2.每次填写内容时,你会发现上次填写的内容还存在,很神奇。
解决方法:使用了以下代码:
1. $('#win').form('clear') //在运行之前首先清理掉表单里面的内容。
2. $('#reconfirm').unbind('click'); //每次运行时先解除绑定再重新绑定。 $("#reconfirm").bind("click",function (){})