jQuery如何修改模态对话框的内容

 我来答
江西新华电脑学院
2018-11-29 · 品牌创于1988,专注IT教育
江西新华电脑学院
江西新华电脑学院开设电子商务、软件开发、电竞、动漫设计、UI设计、室内设计、网络工程、互联网财务、VR等专业。 来校参观报销路费,报名享受国家学费减免政策,签订就业合同,毕业推荐高薪工作。
向TA提问
展开全部
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.hidden{
display:none;
}
.modal{
position:fixed;
width:500px;
height:300px;
top: 50%;
left: 50%;
margin-left: -200px;
margin-top: -200px;
background-color: white;
z-index:10;
}
.shadow{
position:fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
opacity:0.5;
background-color:black;
z-index: 9;
}
</style>
</head>
<body>
<input onclick="add()" type="button" value="添加"/>
<table border="1" width="200px " id="tb">
<tr>
<td target="hostname">1.1.1.1</td>
<td target="port">80</td>
<td target="seq">1</td>
<td>
<a class="edit">编辑</a> | <a class="del">删除</a>
</td>
</tr>
<tr>
<td target="hostname">1.1.1.2</td>
<td target="port">82</td>
<td target="seq">2</td>
<td>
<a id='i2' class="edit">编辑</a> | <a class="del">删除</a>
</td>
</tr>
<tr>
<td target="hostname">1.1.1.3</td>
<td target="port">84</td>
<td target="seq">3</td>
<td>
<a class="edit">编辑</a> | <a class="del">删除</a>
</td>
</tr>
</table>
<div class="modal hidden">
<div id="modal1">
<input name="hostname" type="text"/>
<input name="port" type="text"/>
<input name="seq" type="text"/>
</div>
<div>
<input type="button" value="取消"/>
<input type="button" value="确认" />
</div>
</div>
<div class="shadow hidden"></div>

<script src="jquery-1.12.4.js"></script>
<script>

function add() {
$('.modal,.shadow').removeClass('hidden');
$('.modal input[value="确认"]').off().on('click',function(){

//我的理解:
var hostname = $("#modal1 input[name='hostname']").val();
var port = $("#modal1 input[name='port']").val();
var seq = $("#modal1 input[name='seq']").val();
var tr = document.createElement('tr');
var td1 = document.createElement('td');
td1.innerHTML = hostname;
td1.setAttribute('target','hostname');
$(tr).append(td1);
// console.log(tr);

var td2 = document.createElement('td');
td2.innerHTML = port;
td2.setAttribute('target','port');
$(tr).append(td2);

var td3 = document.createElement('td');
td3.innerHTML = seq;
td3.setAttribute('target','seq');
$(tr).append(td3);

var td4 = document.createElement('td');
td4.innerHTML = '<a class="edit">编辑</a> | <a class="del">删除</a>';
// $(td4).children('[class="edit"]').attr('onclick','func()'); // 用这种$('.edit').click(function() 绑定click事件,新加的点击编辑没有用,需要添加onclick才有用或直接用$('.c').delegate('a', 'click', function(){
$(tr).append(td4);
$('#tb').append(tr);

})
}

//点击edit
// $('table').delegate('a','click',function(){ 不能写$('tb') 因为这是table下的a标签添加点击功能,而这个table是固定的。而写成tr,tr是新加入的,这样就找不到a标签
$('table').delegate('a','click',function(){
//点击编辑,出现模态框
$(this).css('color','red');
$('.modal,.shadow').removeClass('hidden');
var tds = $(this).parent().prevAll(); //this:有编辑的a标签;获取到同一个tr下的所有td
//将表格中的值输入到模态框
tds.each(function(){
var val = $(this).attr('target'); //this :当前td;(作用域,此this不同于上个this) val:当前td的target值
var txt = $(this).text();
$('.modal input[name="' + val + '"]').val(txt); //将内容添加到modal的input框中
})
$('.modal input[value="确认"]').off().on('click',function(){confirm(tds)});

// var host = $(tds[1]).text(); //tds[1] 会变成dom对象
// var port = $(tds[0]).text();
//将选中编辑的对话框的元素放入到input中
// $("input[name='hostname']").val(host);
// $("input[name='port']").val(port);
//点击确认,将修改过得值重新赋值给表格
function confirm(self){
var hostname = $("#modal1 input[name='hostname']").val();
var port = $("#modal1 input[name='port']").val();
var seq = $("#modal1 input[name='seq']").val();
console.log(11111);
self.eq(0).text(seq); // eq(0) 对应的是seq
self.eq(1).text(port);
self.eq(2).text(hostname);
}

})

// 点击删除
// $('.del').click(function() {
// $(this).parent().parent().remove();
// })

//点击取消,去除input框中的内容
$('.modal input[value="取消"]').click(function(){
$(".modal input[type='text']").val("");
$('.modal,.shadow').addClass('hidden');
})

function func() {
//点击编辑,出现模态框
$('.modal,.shadow').removeClass('hidden');
}
</script>
</body>
</html>
TableDI
2024-07-18 广告
Excel中的VLOOKUP函数主要用于在表格中进行垂直查找,并返回匹配单元格的值。使用VLOOKUP时,你需要确保两个表格中有共同的列或值(通常作为查找键),这些值应在个参数(即查找值)中指定。接着,你需指定包含数据的表格区域或范围作为第... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式