<html>
<head>
<meta http-equiv="Content-Type" content="text/html charset=UTF-8">
<script class="jquery library" src="/js/sandbox/jquery/jquery-1.8.2.min.js" type="text/javascript"></script>
<title>
RunJS 演示代码
</title>
<script>
jQuery(function($){
var table = $("table")
var addbtn = $("button:contains('添加')").click(function(){
if(table.data("ing") == 1) {
alert("必须保存这个TR中输入的值之后,才能再次添加TR,否则不能再次添加")
return
}
var txt = $("<tr><td><input type='text' /></td></tr>")
table.append(txt).data("ing", 1).prop("txt", txt.find(":text"))
})
$("button:contains('保存')").click(function(){
var txt = table.prop("txt")
if(table.data("ing")==0){
alert("你已经保存过了,不能更改,具体参考提问者需求")
return
}
if(txt.val() == ""){
alert("填写好数据再保存")
txt.focus()
return
}else{
txt.prop("readonly",true)
table.data("ing", 0)
}
})
})
</script>
</head>
<body>
<table>
</table>
<button>
添加
</button>
<button>
保存
</button>
</body>
</html>
按照要求,在点击每一行的修改按钮,需要获取对应行的第一列input的value值,对应的js代码参考下方:
function change(){var text = $(this).parents('tr').children('td:eq(0)').children('input').val()
console.log(text)
}
还有更加简便的方法:在forEach循环生成tr和td元素时,按照如下规则生成td元素:
<c:forEach items="${projectHot26005s}" var="zslb"><tr id="sj1">
<td><input type="text" id="txt${zslb.projectId}" value="" maxlength="2"></td>
<td>${zslb.projectName }</td>
<td><button class="btn btn-red r3 margin" onclick="btnDelete('${zslb.projectId }')">删除</button></td>
<td><button class="btn btn-red r3 margin" onclick="change('${zslb.projectId}')">修改</button></td>
</tr>
</c:forEach>
这样在change方法中就能通过唯一的id来定位到指定的input,既而获取到value值:
function change(id){var text = $("#txt" + id).val()
console.log(text)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)